首页 > 解决方案 > 如何处理显示为网页 laravel 的 405 错误

问题描述

我用邮递员测试我的 laravel rest API,我的终点只允许 POST 方法,但是当我用 GET 方法测试它时,正文返回网页而不是 json。尽管响应是 405,我如何处理返回 json 的响应? 在此处输入图像描述

标签: phplaravelrest

解决方案


您可以在以下功能render中处理它app/Exceptions/Handler.php

前任:

public function render($request, Exception $e)
{
   if ($e instanceof \Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException) {
      return response()->json(['message' => $e->getMessage(), 405);
   }
   return parent::render($request, $e);
}

它的文档:https ://laravel.com/docs/5.8/errors#render-method

我认为 Laravel 默认将响应作为 JSON 响应。您还可以添加到请求的标头。

Content-Type: application/json
Accept: application/json

推荐阅读