为什么 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:
定义排除路由:
将以下代码添加到您的 app/Http/Middleware/VerifyCsrfToken .php 中间件:
<code class="php">protected $except = [ 'api/*', ];</code>
使用 api.php:
如果使用 Laravel 5.5,创建一个新的 paths/api.php 文件并定义不需要 CSRF 令牌验证的路由。对于旧版本,请创建一个单独的 app/Http/routes.php 文件并在此文件中包含路由而不是 paths/web.php。
以上是如何解决 POST 和 PUT 请求的 Laravel API 419 状态代码?的详细内容。更多信息请关注PHP中文网其他相关文章!