为什么我的 API 会"The page has expired due to inactivity."?



我正在尝试使用Postman在我的API中发布一个Json,但我收到一个错误:

由于不活动,该页面已过期。

所以,在邮递员中,我正在访问 http://localhost:8000/api/jobs/.在我的"标头"选项卡中,我使用内容类型作为键,使用应用程序/json作为值,并插入以下JSON:

{"title": "PHP Developer / Laravel Expert","description": "Laravel Expert", "local": "São Paulo", "remote": "no", "company_id": "3"}

我正在使用拉拉维尔。这是我的网络.php路由文件:

Route::group(array('prefix' => 'api'), function() {
Route::get('/', function () {
    return response()->json(['message' => 'Jobs API', 'status' => 'Connected']);
});
Route::resource('jobs', 'JobsController');
Route::resource('companies', 'CompaniesController');

});

这是我在公司控制器上的存储方法:

public function store(Request $request)
{
    $job = new Job();
    $job->fill($request->all());
    $job->save();
    return response()->json($job, 201);
}

我认为您使用的是 laravel 版本> 5.3 而不是在 web 中编写 API 路由.php而是在 api 中编写您的 api 路由.php在路由文件夹中。

api.php 文件包含路由服务提供程序放置在 api 中间件组中的路由,该组提供速率限制。这些路由旨在是无状态的,因此通过这些路由进入应用程序的请求旨在通过令牌进行身份验证,并且无法访问会话状态。

拉维尔的路线目录

如果您有 laravel 5.5 并希望从路由中删除该 csrf 保护,那么您可以将其添加到 App\Http\Middleware\VerifyCsrfToken 中的$except = [];

不过,您可能希望放置一些其他形式的身份验证。

必须在路由中包含中间件

'middleware' => 'api'

相关内容

最新更新