2015-12-31 4 views
0

Глядя на использование заголовка http Accept на ветку, если сервер должен вернуть html или json ресурса. Я имел в виду только с помощью:Использование заголовка запроса запроса для ветвления на JSON vs html

Accept: application/json 

Но дальнейшие исследования и чтение GitHub API, стандарт, кажется:

Accept: application/vnd.company.app+json 

Что такое преимущество делает это? Почему бы просто не использовать application/json без префикса поставщика компании и приложения?

ответ

0

Основное отличие заключается в том, что application/json является общим определением. Просто потому, что документ запроса отформатирован как «application/json», не означает, что он все еще может быть использован вашим приложением.

По большей части на стороне сервера вы обнаружите, что регистрируете свой медиа-тип как предоставляемый вашей общей библиотекой сериализации/десериализации (например, Джексон), поэтому очень мало практических различий, которые он делает - если если документ не является десериализуемым для класса, который вы ожидаете, тогда будет исключение, которое должным образом превратится в код ответа 40x.

Однако полезно быть уверенным, что и ваш сервер, и ваш клиент ожидают, что будет говорить на одном языке. Это может быть зарегистрировано, и это может помочь найти проблемы, будь то внешние клиенты, которые ожидают «старую» версию API или внутренние проблемы, связанные с несовместимыми комбинациями клиент-сервер.

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