如何控制 laravel 8 中的 405 响应和无令牌访问前失眠的护照
how to control 405 response in laravel 8 and passport without token access front insomnia
我正在 laravel 8 中构建一个 API(我在这个框架中的第一个 api),护照为 10,用于通过令牌访问,以咨询和测试 API我使用 Insomnia,在失眠中我使用 URL 和“token”的两个变量“base”来处理工作环境。
当我测试来自 Insomnia 的 API 路由并传递令牌时,它没有给我带来问题,当我在 Insomnia 中删除环境变量令牌时,错误开始,laravel API 崩溃并出现 405 错误(方法不允许)。
我的问题是如何控制 laravel 以便当用户不发送令牌时我的应用程序不会崩溃?
我坚持,这只有当我在 Insomnia 中删除 Token 环境变量时才会发生。
谢谢
首先,我想确定您发送的是 Accept
和 Content-Type
。
Accept: application/json
Content-Type: application/json
其次,MethodNotAllowedException
表示您使用不同的 HTTP 动词调用路由,您可以看到支持的方法是 POST
而您正在使用 GET
.
第三,为了捕获 MethodNotAllowedException
,您可以在 report
方法
中添加位于 app\Exceptions\Handler
的 Handler.php
public function render($request, Throwable $e)
{
if ($request->ajax() && $e instanceof MethodNotAllowedException) {
return response()->json([
"Please enter your token"
], 405);
}
return parent::render($request, $e);
}
我正在 laravel 8 中构建一个 API(我在这个框架中的第一个 api),护照为 10,用于通过令牌访问,以咨询和测试 API我使用 Insomnia,在失眠中我使用 URL 和“token”的两个变量“base”来处理工作环境。
当我测试来自 Insomnia 的 API 路由并传递令牌时,它没有给我带来问题,当我在 Insomnia 中删除环境变量令牌时,错误开始,laravel API 崩溃并出现 405 错误(方法不允许)。
我的问题是如何控制 laravel 以便当用户不发送令牌时我的应用程序不会崩溃?
我坚持,这只有当我在 Insomnia 中删除 Token 环境变量时才会发生。
谢谢
首先,我想确定您发送的是 Accept
和 Content-Type
。
Accept: application/json
Content-Type: application/json
其次,MethodNotAllowedException
表示您使用不同的 HTTP 动词调用路由,您可以看到支持的方法是 POST
而您正在使用 GET
.
第三,为了捕获 MethodNotAllowedException
,您可以在 report
方法
app\Exceptions\Handler
的 Handler.php
public function render($request, Throwable $e)
{
if ($request->ajax() && $e instanceof MethodNotAllowedException) {
return response()->json([
"Please enter your token"
], 405);
}
return parent::render($request, $e);
}