Правильный ответ HTTP для неподдерживаемого формата страницы (например, xml)? - PullRequest
3 голосов
/ 08 августа 2011

Ситуация

Я пытаюсь создать REST API, где пользователи могут запрашивать ответы в различных форматах.

Например, пользователь может получить доступ:

example.com / oranges / 1.xml (возвращает результаты в формате XML)

example.com / oranges / 1.json (возвращает результаты в формате JSON)

Вопрос

Какой правильный ответ HTTP указывает, что определенный формат ответа недоступен?

Например, пользователь пытается получить доступ к:

примеру.com / oranges / 1.yml (неподдерживаемый формат)

Кидаю 404 или есть лучший ответ?

Ответы [ 2 ]

4 голосов
/ 08 августа 2011

Если вы кодируете нужный формат в URL, то 404 действительно правильный ответ - он говорит клиенту, что он никогда, за исключением изменений на сервере, не сможет ничего сделать с этим URL.

При правильном согласовании содержимого HTTP с использованием Accept заголовка запроса (который был бы более предпочтительным для RESTamentalist), соответствующий ответ для неподдерживаемого типа будет 406.

0 голосов
/ 08 августа 2011

Я бы использовал 400 .См. Например http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...