Зачем в рест апи ид шлется в самом урле, а не в дате или не в квери?

Зачем в рест апи ид шлется в самом урле, а не в дате или не в квери? С этим же не удобно работать ни на бэке ни на фронте, когда тебе одни данные(ид) нужно определенным образом парсить и отправлять, а другие иначе.
  • Вопрос задан
  • 472 просмотра
Пригласить эксперта
Ответы на вопрос 3
FinGanapre
@FinGanapre
Если запрос сделан методом GET, то параметры получают из url. В других методах ( POST, PUT, DELETE ) данные получают из тела запроса и url.

Методом GET получают, например, все новости сайта не передавая никаких параметров.
Если нужно получить одну новость, то передают к примеру её id.

Методом GET отправляются все запросы с браузера ( то, что написано в адресной строке ).

query параметры нужны, например, для организации лимита вывода новостей на одну страницу.
Ответ написан
Комментировать
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Не удобно - не шлите. Это все рекомендации, а не правила. Но вообще, ничего неудобного тут нет - Фреймворки уже давно разбирают REST легко и не принужденно.

А вообще - /user/123 и /user?id=123 это вполне равноценные адресации
Ответ написан
Комментировать
@marsdenden
Вопрос в принятии правил REST. Я тоже поначалу так думал - что нафиг нужно всякие GET, PATCH, PUT. Зачем, если есть POST и в нем все прекрасно можно передавать в теле запроса и разбирать тоже. Однако, сейчас делаю приложение совсем с нуля и бэк пилю на Yii по всем правилам - GET - получение данных, POST - создание и т. д.
Если разобраться с конкретным фреймворком - создание такого API становится намного проще, когда количество функции этого API переваливает за пару десятков. А для простеньких на пяток-другой можно и правила понарушать.
Но когда приходит время разбираться, почему что-то пошло не так и/или надо что-то добавить/переделать - такой "простой" API превращается в кошмар. Да и документировать его сложнее
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы