我正在使用Passport在Laravel中创建一个API,并使用Postman对API进行测试。我在Postman中以JSON获取输出,因此当我在Postman中找到该路由时,即http://localhost:8000/api/login可以正常工作。但是,如果我的URL是http://localhost:8000/api/log,这意味着URL错误,那么它会返回HTML错误,在这里我想显示一条消息,可能是“未找到”或其他JSON格式。在控制器中未定义方法或动作时,如何显示特定消息?
答案 0 :(得分:1)
看看这些有关5.5+版本中的后备路由的文章
https://themsaid.com/laravel-55-better-404-response-20170921
https://laravel-news.com/404-responses-laravel-api
如您所见,您可以创建一个后备路由,该路由可以控制响应。
所以您想要这样的东西:
Route::fallback(function(){
return response()->json(['message' => 'Not Found.'], 404);
})->name('api.fallback.404');
答案 1 :(得分:0)
您可以为某些HTTP错误方法提供自定义错误页面:
如果您希望为404 HTTP状态代码定制错误页面,请创建一个
resources/views/errors/404.blade.php
。该文件将处理您的应用程序生成的所有404错误。