Является ли согласование Content-Type типичным или нетипичным в приложениях REST?

Мне кажется, что согласование Content-Type — это одна из тех вещей, которые «должны делать» для REST, но большинство фреймворков, инструментов и приложений используют его — и, насколько мне известно, этого не делают.

Это правда?

Какие среды программирования REST поддерживают согласование типов контента?

Должен ли я ожидать, что его полезность расширится? Станет ли он более распространенным в фреймворках REST? Действительно ли приложения предоставляют несколько форматов для одного и того же ресурса? Или будут? Есть ли веская причина предоставлять несколько форматов для ресурса?


person Cheeso    schedule 20.05.2009    source источник


Ответы (2)


Что касается .net, то это делает OpenRasta, а также службы данных Ado.net (хотя и ограниченные xml и json).

Однако Conneg касается не только типов контента, но и языков и наборов символов.

Он станет более распространенным, когда его поддержит больше фреймворков, но эти фреймворки уже существуют, так почему бы не использовать их и не использовать их сейчас?

Что касается conneg, являющегося YAGNI, люди уже ожидают, что некоторые из их ресурсов будут представлены как в json, так и в xml, и с приближением rdfa все они становятся все более и более важными.

Тем не менее, conneg — это не REST, а HTTP и его правильное использование.

person SerialSeb    schedule 20.05.2009

Rails делает это, и это благословенный способ делать вещи в мире REST, поэтому я ожидаю, что он будет все более распространенным.

person Hank Gay    schedule 20.05.2009
comment
Вы знаете, Хэнк, я понимаю, что это правильно, но с таким небольшим интересом к вопросу, я все еще задаюсь вопросом, уместно ли согласование типа контента. Людям все равно? ЯГНИ? - person Cheeso; 20.05.2009
comment
Это кажется таким же простым/проще, чем любой другой метод предоставления нескольких представлений одного и того же ресурса, и это стандартный, задокументированный способ. Я бы пошел на это, если бы у меня не было действительно веской причины не делать этого. Я подозреваю, что есть несколько причин, по которым такой небольшой интерес: удивительное количество людей на SO вообще не используют веб-приложения, а тем более RESTful; многие люди в SO используют стек MS, в котором особое внимание уделялось SOAP и компании (по крайней мере, до недавнего времени); вопрос пришел в довольно медленное время; и не многие люди предоставляют несколько представлений (хотелось бы, чтобы их было больше). - person Hank Gay; 21.05.2009
comment
Мое предположение состояло бы в том, что последняя причина является серьезной — не многие люди думают или рассматривают несколько типов контента для одного ресурса, поэтому переговоры не являются проблемой. - person Cheeso; 21.05.2009
comment
Я подозреваю, что это также основная причина, хотя я считаю, что большинство ресурсов должны быть доступны как минимум в двух версиях: HTML и JSON/XML (для AtomPub и т. д.). Кроме того, много данных было бы удобно в других форматах: iCal, KML, csv и т. д. Ну, ладно, я могу помечтать, я полагаю. - person Hank Gay; 21.05.2009