Дизайн API - как лучше всего ответить на полезные сообщения об ошибках с 400-х годов? - PullRequest
1 голос
/ 05 марта 2012

Я разрабатываю API, чтобы быть максимально совместимым с HTTP. Это включает в себя отправку конкретных кодов ответов и использование заголовка Accept для указания версий и типов ответов.

Я понимаю, что это может показаться субъективным, но я уверен, что есть обычный способ сделать это. У меня есть набор типов ответов, которые поддерживает API, а также тип MIME, определяемый поставщиком, для указания типа и версии.

В настоящее время, когда клиент указывает несуществующую версию или тип, я просто возвращаю 400 Bad Request с пустым телом, однако я хочу вернуть полезное сообщение об ошибке. В случае, если я не знаю тип ответа, я чувствую себя немного грязно, отвечая простым текстом (или по умолчанию JSON). Есть ли какой-то заголовок, который мне не хватает, или какое-то соглашение, которому я должен следовать? Я хочу получить это прямо со смещения.

Спасибо, и мой лучший,

Jamie

Ответы [ 2 ]

3 голосов
/ 05 марта 2012

Попробуйте код состояния 406 Недопустимо.

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

http://support.microsoft.com/kb/943891/

Это список подкодов HTTP, поддерживаемых Microsoft IIS. Я нашел эту страницу чертовски удобной, поскольку она дает вам некоторое представление о сообщениях, которые они используют для обработки различных ошибок. Существуют некоторые субкоды HTTP, которые ссылаются на заголовки.

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