Laravel 4使用App :: error with App :: abort(404)

 kobe0390 发布于 2022-12-31 12:18

我正在尝试使用Laravel编写RESTful API.

我的路线是这样的:

Route::resource('user', 'UserController');

方法是这样的:

public function show($id)
{
    return User::findOrFail($id);
}

但是如果模型实例不存在,我会得到500错误,而我相信我需要404错误.

所以在start/global.php中我有这个:

App::error(function(Illuminate\Database\Eloquent\ModelNotFoundException $exception)
{
    App::abort(404);
});

这给了我200个代码和异常处理程序中的错误消息.

难道我做错了什么?我希望没有输出和404代码.

谢谢,

迈克尔

1 个回答
  • 为了完整起见,OP提到(并且可以复制)的行为之前在Laravel的Github上进行了讨论:https://psithub.com/laravel/framework/issues/1807 .决定它是按设计的,不会改变的.

    因此,正如Michael Bearjaws已经提到的那样,从错误处理程序中返回Response::make("Not Found", 404);或者Response::json(null, 404);用于JSON是目前唯一的解决方案.

    2022-12-31 12:20 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有