我正在Laravel中构建REST API,当创建新用户时,我想返回201状态代码和Location
标头以指向新资源。
大部分内容都是使用此代码实现的:
$response = Response::make(null, 201)->header('Location', Config::get('app.url') . '/v1/users/' . $user->id);
return $response;
然而,Laravel似乎覆盖了我设置为状态代码的内容,因为我正在设置Location
标头,因为我收到了302 Moved Temporarily
标头。
即使我指定了Location
标题,如何强制执行201状态代码?
答案 0 :(得分:2)
问题是当您设置header()
位置时,它会覆盖Laravel响应。
如果您向header()
功能添加201状态 - 它应该可以工作我认为:
$response = Response::make(null, 201)->header('Location', Config::get('app.url') . '/v1/users/' . $user->id, true, 201);
return $response;