为什么我会收到“页面由于不活动而过期”。在我的API?

时间:2017-10-06 02:19:32

标签: php laravel api postman

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

  

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

所以,在Postman我正在访问http://localhost:8000/api/jobs/。在我的Headers选项卡中,我使用Content-type作为键,将application / json作为值并插入以下JSON:

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

我正在使用laravel。 这是我的web.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');

});

这是我在CompaniesController上的商店方法:

public function store(Request $request)
{
    $job = new Job();
    $job->fill($request->all());
    $job->save();

    return response()->json($job, 201);
}

3 个答案:

答案 0 :(得分:2)

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

  

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

Route Directory in laravel

答案 1 :(得分:2)

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

但是,您可能希望将其他形式的身份验证放在适当的位置。

答案 2 :(得分:0)

您必须在路由中包括中间件

'middleware' => 'api'