Ранее мы рассматривали get запросы. Но у них достаточно много ограничений. Самое главное - передача параметров в url.
Метод post может содержать тело (body), в котором может находится практически что угодно (строки, цифры, объекты, бинарные данные).
Чтобы создать метод, который принимает post запросы необходимо добавить аннотацию @PostMapping.
Для тестирования метода мы более не можем использовать браузер, т.к. из него проблематично выполнить post запрос. Поэтому скачаем специальный инструмент: Postman (https://www.postman.com/downloads/). После установки регистрировать аккаунт не обязательно.
Запустим проект на рисунке выше. Откроем postman. Введем адрес http://localhost:8080/first/hello2. Выберем тип запроса POST. Введем в параметры запроса наш параметр name и нажмем SEND:
Здесь мы выполнили post запрос, но параметр передали через url.
Наш метод еще не умеет принимать параметры из тела (body). Чтобы исправить это необходимо перед параметром добавить аннотацию @RequestBody.
@RequestBody сопоставляет тело HttpRequest с объектом передачи или домена, обеспечивая автоматическую десериализацию входящего тела HttpRequest в объект Java.
Перезапустим проект. Очистим параметры запроса (params) в postman, перейдем на вкладку тело (body), выберем raw и введем значение нашего параметра.
Результат не измениться.
В большинстве случаев для создания rest сервисов достаточно методов get и post. Поэтому я не буду сейчас рассматривать patch, put, delete.
В следующей статье рассмотрим более подробно теорию как это все работает.
Ссылка на видео: