我正在尝试使用 Laravel 创建一个 RESTful API。我使用 php artisan make:controller RestController 创建了我的控制器,这是我的控制器代码:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class RestController extends Controller
{
private $arr = array(
array("name"=>"jon", "family"=>"doe"),
array("name"=>"jhon", "family" => "doue")
);
public function index(){
return json_encode($this->arr);
}
public function store(Request $request){
return "oops!!";
}
public function update (Request $request, $id){
return "test";
}
}
我已经添加了这行代码来在我的 routes/web.php 文件中创建这个路由:
Route::resource('person', 'RestController');
当我尝试在 GET /person 上测试此 api 时,它工作正常,但在 POST 和 PUT 上,我从 Laravel 获得 419 状态代码。
原文由 Navid_pdp11 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您正在开发 REST API,最好不要添加令牌。如果您使用的是 5.4 或 5.5,则可以使用
api.php
而不是web.php
。在api.php
您不需要对发布请求进行令牌验证。如果您使用的是
web.php
,那么您可以排除您不想使用 CSRF 令牌验证的路由。这是官方文档:
供参考 https://laravel.com/docs/5.5/csrf