强制Laravel响应状态代码

时间:2014-10-31 00:27:39

标签: php laravel

我正在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状态代码?

1 个答案:

答案 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;