2016-03-21 3 views
1

Я работаю с RESTFul API и получаю метод POST, который позволит использовать содержимое тела JSON или CSV.RESTFul: Как указать формат тела запроса POST?

Каков наилучший способ справиться с этим? Должны ли использоваться URL-адреса/параметры (например, /resource/json или /resource/?type=json) или через заголовки (так что URL-адрес будет только /resource, а заголовок будет указывать json или csv)?

ответ

1

Правильный способ согласно W3C (https://www.w3.org/Protocols/rfc1341/4_Content-Type.html) - использовать заголовок Content Type для указания правильного типа.

  • Для JSON было бы Content-Type: application/json
  • Для текста CSV было бы Content-Type: text/csv

Избегайте использования URL PARAMS. Хотя это не «не успокаивает», это не рекомендуемый метод и запахи любительского часа. Хуже всего создается новый «ресурс», который представляет собой просто представление существующего ресурса.

+0

Отсутствует другая важная часть: заголовок 'Accept'. – Evert

+0

@Evert, хотя я рекомендую всегда отправлять заголовок Accept, не требуется информировать сервер о том, как обрабатывать отправленное тело, - которое было областью действия OP. – Ray

+0

Я забираю его обратно. Я неправильно понял вопрос. =) – Evert

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