JSON Как правильнее структурировать формат запроса
Пишу REST приложение на Spring Boot с использованием Spring MVC.
При написании контроллера встал вопрос как правильно распределить данные, приходящие с запросом от пользователя: какие из них передавать с параметрами запроса (@RequestParam), какие через переменную пути (@PathVariable), а какие передавать в виде пар ключ-значение в самом теле JSON'а (@RequestBody)?
Если подробнее, то уже есть метод, который возвращает коллекцию объектов сущностей. Он доступен по адресу http://localhost:8080/rest/tasks с ключом 'page' в самом теле JSON'a.
Сейчас пишу метод, который по запросу должен возвращать один из объектов сущности (сущность Task), где пользователь должен передать каким-то способом id объекта и номер страницы (у каждого объекта Task есть список объектов Comment, которые разбиты на страницы).
Так вот вопрос: каким образом ЛУЧШЕ указать id, номер страницы (page) и вообще указание на то, что это запрос на получение одного объекта?
То есть например, если я хочу получить страницу под номером 3 объекта Task с id == 17 скажем, то лучше сделать такой формат запроса:
http://localhost:8080/rest/tasks
{
"id" : 17
"page" : 3
}
или например такой:
http://localhost:8080/rest/tasks/view/17?page=3
{
}
? Или вообще какой? То есть так называемые лучшие практики хотелось бы узнать. Спасибо.
Ответы (1 шт):
Как я понял, разницы особой нету. Я бы сделал с помощью второго способа
Только прикола не понял. Это первая ссылка, ты там ещё jaon какой-то передал http://localhost:8080/rest/tasks
Потом сделал вторую ссылку, она отлична от первой, если я правильно понимаю проблему, то можно передать два аргумента в ссылке сразу
http://localhost:8080/rest/tasks?id=17&page=3
Это делается с помощью знака &