首页 >后端开发 >php教程 >如何解决 POST 和 PUT 请求的 Laravel API 419 状态代码?

如何解决 POST 和 PUT 请求的 Laravel API 419 状态代码?

Susan Sarandon
Susan Sarandon原创
2024-10-18 20:32:031062浏览

How to Resolve Laravel API 419 Status Code for POST and PUT Requests?

为什么 Laravel API 在 POST 和 PUT 方法上返回 419 状态代码

在 Laravel 中,POST 或 PUT 请求期间经常会出现 HTTP 419 状态代码表示 CSRF 令牌不匹配。此令牌用于防止跨站点请求伪造(CSRF),可能会干扰 RESTful API 操作。

Laravel 5.4 或更高版本的解决方案

在 Laravel 5.4 和更高的,可以使用 php artisan make:controller ApiController 创建专用的 API 控制器。该控制器位于 app/Http/Controllers/API 目录中,默认不包含 CSRF 令牌验证。

Laravel 5.3 及更早版本的解决方案

两种方法可用于早期版本的 Laravel:

  1. 定义排除路由:

    将以下代码添加到您的 app/Http/Middleware/VerifyCsrfToken .php 中间件:

    <code class="php">protected $except = [
        'api/*',
    ];</code>
  2. 使用 api.php:

    如果使用 Laravel 5.5,创建一个新的 paths/api.php 文件并定义不需要 CSRF 令牌验证的路由。对于旧版本,请创建一个单独的 app/Http/routes.php 文件并在此文件中包含路由而不是 paths/web.php。

以上是如何解决 POST 和 PUT 请求的 Laravel API 419 状态代码?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn