Можно ли использовать HTTP-перенаправления в среде RESTful MVC? - PullRequest
5 голосов
/ 10 марта 2012

Я пытаюсь разработать среду MVC.

Когда пользователь создает новую запись, мне кажется, имеет смысл отобразить новую запись, если она успешно создана.

Можно ли использовать перенаправление http для перемещения пользователя к просмотру новой записи?

Ответы [ 3 ]

6 голосов
/ 10 марта 2012

Не делай этого! Используйте правильный код ответа HTTP для ситуации. Например, если пользователь отправляет новую запись в вашу систему:

POST record/id
New record stuff

Оставляйте отзывы не только как HTML-представление с улыбающимся счастливым лицом, но и как правильный код ответа HTTP.

201 Created
2 голосов
/ 10 марта 2012

Если вы создаете запись, то HTTP 201 является рекомендуемым кодом состояния.

Однако в некоторых случаях вы можете захотеть перенаправить.Например, ваш API больше не находится в текущем URL, и вы хотите перенаправить пользователей на новый URL.

2 голосов
/ 10 марта 2012

Вы должны ответить на действие «создать» семантическим ответом (т. Е. HTTP 201 - Создано) при отображении вновь созданной записи, это обычно считается нормой.

Кроме того, добавление заголовка Location, указывающего действие «чтение» для вновь добавленного элемента, еще лучше.

Возможно, вы захотите взглянуть на точку зрения модели зрелости Ричардсона об этом, есть хорошая статья , которую об этом написал Мартин Фаулер.

...