Читаю - всё понимаю, но на практике путаюсь. Думаю я такой не один.
Предлагаю разобраться раз и навсегда.
В таблице "Get players count" есть URL: /rest/players/count,
а так же множество параметров в строке URL Params. У себя в контроллере
в необходимом методе эти параметры я получал благодаря @RequestParam, после этого прошёл все тесты
из чего делаю вывод что сделал правильно.
В то же время в таблице "Delete player" в строке URL Params есть всего один параметр id,
а в строке URL он заключён в фигурные скобки, что наталкивает на мысль что
его нужно в методе получать через @PathVariable
Я делаю вывод что выбор между @RequestParam и @PathVariable зависит не от строки в таблице
а он наличия фигурных скобок в строке URL
Но когда дело дойдёт до таблицы Update player мы увидим фигурные скобки в неожиданном месте
конкретно в строке Data Params. Получается их тоже нужно подвергать @PathVariable?
И заключительный вопрос: Строка Success Respone мы должны вернуть кучу параметров (ещё и в фигурных скобках)
правильно ли я понимаю что мы возвращаем не кучу параметров, а объект Player содержащий эти параметры?
Игорь Евгеньевич
41 уровень
Прекратим путаницу между @RequestParam и @PathVariable в тестовом и не только
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергеев ВикторMaster
17 января 2022, 16:41
PathVariable - переменная в пути запроса, т.е. она описывается в RequestMapping
RequestParam - параметр запроса, та часть url что идет после знака вопроса
rest/player/{id} - PathVariable
rest/player?id=10 - RequestParam
"мы должны вернуть кучу параметров (ещё и в фигурных скобках)" - этот формат называется json почитайте про него
+2