Хорошо, вот что. StackOverflow реализован в стиле REST. Когда вы посещаете конкретные вопросы /$id/URL, вы можете увидеть вопрос. Содержимое возвращается в HTML, потому что это то, что понимает браузер.
Мне нужно разработать свой собственный сервис REST. Факт в том, что я должен возвращать несколько форматов для одной и той же информации. Например, по умолчанию может быть HTML, но я мог бы вернуть также XML или JSON.
Вопрос: какой стиль рекомендуется для этого? Три варианта (больше от ваших полезных предложений)
- в URL-адресе (например, http://example.com/info/12345/?format=json)
- другой интерфейс (например: для данных json у вас есть http://example.com/info/1234/json/ или http://example.com/json/info/12345/, для данных xml у вас есть http://example.com/info/1234/xml/ и т.д.... вы получаете смысл)
- http-заголовок Accept: application/json
То же самое для PUT (POST). Если я хочу отправить данные в разных форматах, мне нужно сообщить получателю формат, который я предоставляю, поэтому сохраняется та же ситуация (и вопрос).
Спасибо!
Изменить: дополнительное предложение следующее
4) Укажите правильный URL для каждого формата, например. http://example.com/info/12345.json. Это выглядит хорошо, но разве это не означает, что для согласованности мы также должны иметь http://example.com/info/12345.html? звучит так 1995...:)
PS: Я ненавижу уценку, помещая произвольный заказ в список. Если я хочу начать с 4, я должен это сделать.