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

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

Susan Sarandon
发布: 2024-10-18 20:32:03
原创
1066 人浏览过

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中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板