Каковы плюсы и минусы использования URI и заголовков Accept для согласования формата контента REST? - PullRequest
4 голосов
/ 03 июня 2011

На основании информации в следующем вопросе REST Content-Type: должен ли он основываться на расширении или заголовке Accept? , я знаю, что пользовательские URI или указание заголовков Accept являются «приемлемыми» (каламбур предназначен) методы для веб-службы REST-ish, чтобы определить формат ответа для клиента.

Однако многие громкие имена, похоже, используют собственный метод URI со своими API.Каковы сильные стороны одного пути над другим?

1 Ответ

3 голосов
/ 04 июня 2011

В REST URI предназначены для идентификации только ресурса. Согласование содержимого используется для определения формата представления. Это ваше традиционное разделение интересов. При использовании URI для определения формата представления вы смешиваете эти проблемы.

В дополнение к смешанным проблемам, я заметил, что при использовании подхода, основанного на URI, люди обычно знают соглашение и полагаются на построение URI, а не на гипертекст для навигации. Это увеличивает связь и может вызвать проблемы, если сервер когда-либо захочет изменить структуру URI.

Учитывая сказанное, в подходе URI есть некоторые плюсы, а именно удобство. Во время разработки вы можете запустить браузер и легко увидеть, что сервер отвечает, просто введя его в адресную строку («example.com/foo.json»). Когда 100% полагаться на согласование контента, это немного сложнее, и вам приходится полагаться на плагины или cURL, все, что может манипулировать заголовками.

...