Laravel 5.2 在中止时将 Http 响应状态码设置为 403
Posted
技术标签:
【中文标题】Laravel 5.2 在中止时将 Http 响应状态码设置为 403【英文标题】:Laravel 5.2 set Http response status code to 403 on abort 【发布时间】:2016-11-21 16:39:53 【问题描述】:我编写了 RESTful API,我想在我的代码中每个需要的地方使用函数 abort(403, 'Unauthorized action.');
,但是由 abort
生成的响应总是状态码 200! (我真的希望拥有状态 = 403)。怎么做?
【问题讨论】:
尝试使用return response($content = 'Unauthorized Action', $status = 403, $headers = array())
【参考方案1】:
如果您想自定义发回的内容,您希望返回 response()
。
类似下面的东西应该可以解决问题:
return response('Unauthorized action.', 403);
你可以把它放在你目前拥有的地方:
abort(403, 'Unauthorized action.');
【讨论】:
不 - 这不一样 - 如果我在嵌套函数内的某个地方放置“返回”,我必须将结果传递给调用者(函数)并且调用函数必须再次返回它。另一方面 - abort 像“抛出异常”一样工作,所以我不需要返回任何东西。这就是我要找的。span> 我不知道我改变了什么,但它开始工作了! (?)我通过直接在routes.php
中使用abort(403,'test')
开始inwestigaton 并在测试之后......它开始工作......以上是关于Laravel 5.2 在中止时将 Http 响应状态码设置为 403的主要内容,如果未能解决你的问题,请参考以下文章
处理来自 PHPUnit (Laravel 5.2) 的自定义异常
Laravel 5.2:邮件没有从cron-job发送,从邮件响应中收到错误