2014-10-31 3 views
1

Я создаю REST API в Laravel и когда новый пользователь создан, я хочу вернуть код состояния 201 и заголовок Location, чтобы указать на новый ресурс.Принудительный код состояния отклика Laravel

Большая часть, которая достигается с помощью этого кода:

$response = Response::make(null, 201)->header('Location', Config::get('app.url') . '/v1/users/' . $user->id); 
return $response; 

Однако Laravel, кажется, переопределение, что я установить в качестве кода состояния, потому что я устанавливаю Location заголовок, так как я получаю 302 Moved Temporarily назад.

Как я могу форсировать код состояния 201, даже если я указываю заголовок Location?

+0

Fair Play для осуществления надлежащих ответных кодов. Я действительно не знаю, почему Laravel (который я очень уважаю) не поощряет возвращение «201 Created» для успеха в методе Create по умолчанию. Хорошая работа! –

ответ

1

Проблема заключается в том, что вы устанавливаете местоположение header(), это переписывает ответ Laravel.

Если добавить 201 статус функции header() - она ​​должна работать, я думаю:

$response = Response::make(null, 201)->header('Location', Config::get('app.url') . '/v1/users/' . $user->id, true, 201); 
return $response; 
+0

Блестящее спасибо, не знал, что метод 'header()' принял эти дополнительные параметры. –

Смежные вопросы