dpnfjx755573 2016-08-09 14:06
浏览 105
已采纳

在Yii中,您可以使用JSON而不是HTML / XML返回HTTP错误响应吗?

If a user is attempting to access the REST api without proper credentials, my yii application throws the 401 error like this in my controller.php file:

throw new UnauthorizedHttpException('Access unavailable without access_token.', 401);

Which returns the error in this format:

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <name>Unauthorized</name><message>Access unavailable.</message>      
  <code>401</code>
  <status>401</status>
  <type>yii\web\UnauthorizedHttpException</type>
</response>

How to I return this error in JSON format ?

{
    "name": "Access unavailable.",
    "message": "You are not authorized.",
    "code": 0,
    "status": 401
}

My mobile app accessing this resource expects a JSON object.

  • 写回答

2条回答 默认 最新

  • dsdapobp26141 2016-08-09 14:12
    关注

    yii2 rest controller reacts on the "Accept" HTTP Header. If in this header is only "application/json" present, the answer from rest controller will be JSON

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?