2017-02-16 12 views
2

Я читаю книгу об ОТДЫХЕ. Он рекомендует для запросов GET, имя метода должно быть в заголовке метода HTTP, а любые параметры, необходимые для извлечения данных, должны быть в URI. Пример: www.flickr.com/search=penguinsОТДЫХ: GET звонки

Во многих случаях для извлечения данных требуется ряд параметров. Например, имя приложения, имя пользователя, адрес пользователя и т. Д. Если для извлечения данных требуется ряд параметров, является ли хорошая практика включать эту информацию в URI или мы можем передать объект JSON и использовать HTTP POST ?

Или что сделать сервис не RESTful

ответ

0

Как и все, есть компромиссы. Если вы фильтруете GET с параметрами запроса, а ваши данные можно кэшировать, то кэши смогут хранить результаты этих запросов и сохранять работу позже. Однако вы ограничены размером строки запроса. Верхняя граница браузера может быть 2k символов, но большинство браузеров поддерживают не менее 8k.

Если вы фильтруете использование POST и тела фильтра, вы можете сохранить этот фильтр в качестве ресурса и обратиться к нему позже, в том числе в последующих вызовах GET. У вас также нет верхней границы размера запроса.

0

Нет, вы не можете передать JSON в GET запросе, поскольку GET запрос не имеет тела. Вы можете передать несколько параметров запроса в URI с помощью &, например:

http://myserver:port/search=penguins&type=movie&name=happy 

Вы можете использовать Postman или DHC из Chrome Web Store, чтобы проверить ваши запросы и ответы.