Найти тему
Software development

Spring Boot. Передача параметров Get-запросы #3

Оглавление

В предыдущей статье мы создали контроллер, который возвращает данные и ничего не принимает.

Сейчас добавим возможность принимать параметры. Есть два способа передать параметры get-запросом.

1) Через @PathVariable прямо в url.

Перезапусти приложения и введем url в браузере: http://localhost:8080/first/hello/ilya

-2

Также @PathVariable может принимать параметр - имя переменной, например:

-3

После перезапуска результат не измениться.

Есть возможность передать несколько параметров:

-4

И перейдя по http://localhost:8080/first/hello/ilya/ilya@mail.com, мы увидим:

-5

Отдельно хочу отметить аннотацию @ResponseBody.

Аннотация @ResponseBody сообщает контроллеру, что возвращаемый объект автоматически сериализуется в JSON и передается обратно в объект HttpResponse.

Есть возможность избавиться от нее: заменить @Controller на @RestController.

-6

Результат не измениться.

@RestController это удобная аннотация, объединяющая @Controller и @ResponseBody , что устраняет необходимость аннотировать каждый метод обработки запросов класса контроллера аннотацией @ResponseBody.

Я обычно использую другой вариант и считаю его более предпочтительным.

2) Без использования @PathVariable.

-7

Перезапустив проект и перейдя http://localhost:8080/first/hello?name=ilya&mail=ilya@mail.ru, мы получим те же результаты:

-8

Также есть возможность именования параметров через @RequestParam:

-9

Тогда url примет вид http://localhost:8080/first/hello?username=ilya&mail=ilya@mail.ru и результат не изменится.

@RequestParam может принимать еще один аргумент required (обязательный) - по умолчанию true.

На этом по этой теме у меня все. В следующей статье рассмотри метод POST.

Ссылка на видео: