Как стать автором
Обновить

Комментарии 19

На заметку читателям:
На start.spring.io можно собрать проект просто указав необходимые стартеры

Project Lombok совместим и позволяет уменьшить кол-во бойлерплейта, органично вписываясь в общую идеологию.

Java 11 поддерживается, однако аккуратнее со сторонними зависимостями.
Спасибо:) Сделал UPDATE со ссылкой.
Как то в моем мировоззрении не стыкуются спринг со всем вышеописанном багажом и идея микросервисов. Да и список сервлет контейнеров не впечатляет. Caucho Resin нет например, а у него экстремально быстрый веб-сервер встроенный.
На последнем Joker'е был доклад как раз на эту тему, ребята сравнивали Micronaut vs Spring Boot. Если не вдаваться в детали, то пока вы пишите HelloWorld'ы, то Spring безусловно проигрывает как по потреблению памяти, так и времени старта. Но как только вы добавляете ту же БД, разница становится уже не такой очевидной.

А в чем проблема работать с jdbc? Все таки это микросервис, а не монолит на тысячу две классов

A пример запроса и того как его отправить будут?
Меня, например, устроили бы примеры для Soap UI.

Я к чему? — для меня в данной среде и данном примере совсем не очевиден процесс сериализации/десериализации объектов в/из json/xml? Какой вариант сериализации используется тут? С какими httpзаголовками посылать запрос и тд. и тп. Нужны примеры.
В данном примере будет использоваться JSON. При желании настроить можно и XML. Никаких особых заголовков прописывать не надо.

Объект PaymentRequest из примера будет сериализован как-то так:
{
   "userId": 0,
   "itemId": "string",
   "discount": 0
}

Опять же, сериализация настраиваемая, но это уже, кмк, выходит за рамки «введения».
В данном примере будет использоваться JSON.

ясно.

Никаких особых заголовков прописывать не надо.

А «обычные» — это какие именно значения? Более конкретно, меня интересует content type: должно указать «multipart/form-data», «application/json», «application/javascript», «text/plain» или что-то иное или это не важно?

К статье нужен или пример http-запроса со всеми заголовками и содержимым ( что бы его можно было повторить в soap ui, или с помошью curl, wget ) или js-код который умеет отсылать запрос на сервер в подходящем формате. На базе того-же jQuery скажем — просто рабочий пример, банальная демонстрация того, что то, что вы только что собрали по данному мануалу — оно вообще-то работает )
А «обычные» — это какие именно значения?

Content-Type: application/json
В целом запрос на платеж, насколько я понимаю, будет выглядеть как-то так:
curl -d '{"userId":0,"itemId":"string","discount":0}'
  -H 'Content-Type: application/json' 
  http://localhost:8080/pay?key=123

Некоторые подробности можно посмотреть тут: www.baeldung.com/curl-rest

К статье нужен или пример http-запроса со всеми заголовками и содержимым или js-код который умеет отсылать запрос на сервер в подходящем формате

Не спорю)
Нужно просто добавить Swagger. Можно и заголовки посмотреть и запросы проверить будет прям на месте.
Наследовать проект от spring-boot-starter-parent уже давным-давно не надо, чтобы получить автоматический менеджмент версий зависимостей достаточно импортировать BOM:

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-dependencies</artifactId>
			<version>${spring.version}</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>
Причем здесь вообще Spring IO Platform? По ссылке из вашего же комментария они говорят, что остаётся ровно два способа получить менеджмент версий зависимостей: либо отнаследоваться проектом от spring-boot-starter-parent, либо импортировать spring-boot-dependencies.

Вариант с чужим parent-ом работает ровно до тех пор, пока не понадобится свой (или захочется менеджмента версий для более чем одного набора библиотек).
Ок. Стандрартно — как генерит SPRING INITIALIZR. Через наследование.
Причем наследуются не версии зависимостей, но и плагины.
Для тех, кому интересно — есть до неприличия простой способ создания REST API — через Spring Data REST. Плюс сервис можно укомплектовать каким-нибудь The HAL Browser — сразу и тестирование из коробки.

А если нужно и web, и data — в pom в зависимости писать сразу два стартера?

Jook ещё некоторую часть кода может сгенерить по БД

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории