亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

更改 HTTP 標頭中的狀態代碼而不影響 Yii 1 Restful API 中的返回數據

更改 HTTP 標頭中的狀態代碼而不影響 Yii 1 Restful API 中的返回數據

PHP
嚕嚕噠 2023-09-22 16:45:52
我想在Yii 1中返回帶有HTTP錯誤代碼的數據。所以我使用了以下方式來獲取數據。  $code = (0 == $ex->getCode()) ? (isset($ex->statusCode) ? $ex->statusCode : 500) : $ex->getCode();            $this->setOutputError($ex->getMessage());            $this->setOutputCode($code);當我以這種方式使用它時,API 返回帶有 200 錯誤代碼的數據,如下所示但我想改變標題狀態200,所以我為此拋出異常,然后輸出數據也改變了。我只想更改標題狀態。$code = (0 == $ex->getCode()) ? (isset($ex->statusCode) ? $ex->statusCode : 500) : $ex->getCode();            $this->setOutputError($ex->getMessage());            $this->setOutputCode($code);            throw new CHttpException(400, 'Bad Request');
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

Yii 1.1 沒有響應抽象,你需要使用http_response_code()來改變響應狀態碼:


$code = (0 == $ex->getCode()) ? (isset($ex->statusCode) ? $ex->statusCode : 500) : $ex->getCode();

$this->setOutputError($ex->getMessage());

$this->setOutputCode($code);


http_response_code(400);

或者,您也可以使用header(),但這比較棘手。


查看完整回答
反對 回復 2023-09-22
  • 1 回答
  • 0 關注
  • 102 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號