gpt4 book ai didi

php - 如何将Laravel错误响应作为JSON发送

转载 作者:行者123 更新时间:2023-12-03 11:47:01 26 4
gpt4 key购买 nike

我只是移动到laravel 5,并且在HTML页面中从laravel接收了错误。像这样的东西:

Sorry, the page you are looking for could not be found.

1/1
NotFoundHttpException in Application.php line 756:
Persona no existe
in Application.php line 756
at Application->abort('404', 'Person doesnt exists', array()) in helpers.php line

当我使用laravel 4时,一切正常,错误是json格式,这样我可以解析错误消息并向用户显示消息。 json错误的示例:
{"error":{
"type":"Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"message":"Person doesnt exist",
"file":"C:\\xampp\\htdocs\\backend1\\bootstrap\\compiled.php",
"line":768}}

我如何在laravel 5中实现这一目标。

对不起,我的英语不好,非常感谢。

最佳答案

我来这里是为了寻找如何在Laravel中的任何地方抛出json异常,而答案使我走上了正确的道路。对于找到此搜索类似解决方案的任何人,这是我在应用程序范围内实现的方式:

将此代码添加到renderapp/Exceptions/Handler.php方法中

if ($request->ajax() || $request->wantsJson()) {
return new JsonResponse($e->getMessage(), 422);
}

将此添加到用于处理对象的方法中:
if ($request->ajax() || $request->wantsJson()) {

$message = $e->getMessage();
if (is_object($message)) { $message = $message->toArray(); }

return new JsonResponse($message, 422);
}

然后在您需要的任何地方使用以下通用代码:
throw new \Exception("Custom error message", 422);

它将把在ajax请求之后抛出的所有错误转换为Json异常,可以以任何想要的方式使用它:-)

关于php - 如何将Laravel错误响应作为JSON发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28444556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com