Делаем простое REST приложение с нуля. Spring Boot REST

Spring Boot Rest Application: Создаём простое Spring Boot Rest приложение. Spring - мощный фреймворк из мира Java. Т.к. Java достаточно сложный для новичков язык, лучше продвигаться методом изучения простых примеров.
Поддержать проект:
➡ Стать спонсором ch-me.org/utitle-letscodedrujoin
➡ Patreon www.patreon.com/letscodedru
➡ Яндекс.Деньги money.yandex.ru/to/41001451675086
➡ PayPal paypal.me/letscodedru
➡ Qiwi qiwi.me/letscode
Ссылка на git репозиторий из видео:
github.com/drucoder/sarafan/tree/RestController
Спецификации на rest как таковой не определено, так что понятие это сборное и представляет из себя сбор общепринятых практик. Как следствие - вокруг этого понятия постоянно возникают споры о том как это должно выглядеть и работать.
Для упрощения нашей задачи мы возьмём только несколько основных правил:
1. Все данные, фигурирующие в обмене будут передаваться в формате json
2. Адресация данных осуществляется через url приложения
3. Вид операции работы с данными на сервере определяется типом http запроса: GET для получения данных, POST для создания нового объекта, PUT для обновления существующего объекта и DELETE для удаления.
Для упрощения создания заготовки нашего spring boot приложения будем использовать spring initializr:
start.spring.io/
Для начала нам достаточно только двух пакетов: spring mvc для создания контроллера и spring devtools для оперативной перезагрузки ресурсов.
Создаём новый контроллер MessageController, аннотированный как @RestController, содержащий методы для обработки всех перечисленных выше видов запросов: на чтение списка сообщений, получение одного сообщения, создание и модификация существующего и удаление.
Для тестирования созданных методов мы будем делать запросы к серверу через консоль браузера. Для этих целей нам понадобится современный браузер с хорошим инструментарием для разработчика. Из двух наиболее подходящих браузеров (FireFox и Chrome) я использую Chrome и все примеры показываю в нём.
Современные браузеры поддерживают метод fetch языка javaScript, позволяющий делать асинхронные http запросы.
Для каждого из тестируемых запросов я написал заготовки, которые вы можете найти тут:
gist.github.com/drucoder/a1d8576e1d15be38aae5bac3f914b874
Подробнее о методе fetch можно почитать тут:
learn.javascript.ru/fetch
Метод fetch использует Promise для обработки результатов запроса. О Promise можно почитать тут:
learn.javascript.ru/promise
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
➡ Твиттер: twitter.com/letsCodeDru
➡ Чат в Discord: discord.gg/xs6XxSx
➡ Группа Вконтакте: vk.com/letscodedru
➡ Канал в Telegram: t.me/letsCode_dru
➡ Чат в Telegram: t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

➡ Ссылка на канал: ch-me.org/users/UC1g3kT0ZcSXt4_ZyJOshKJQ
➡ Ссылка на Яндекс.Дзен: zen.yandex.ru/media/id/5ac20956168a91ffeae449c5

Komentáře