Комментарии 19
На заметку читателям:
На start.spring.io можно собрать проект просто указав необходимые стартеры
Project Lombok совместим и позволяет уменьшить кол-во бойлерплейта, органично вписываясь в общую идеологию.
Java 11 поддерживается, однако аккуратнее со сторонними зависимостями.
На start.spring.io можно собрать проект просто указав необходимые стартеры
Project Lombok совместим и позволяет уменьшить кол-во бойлерплейта, органично вписываясь в общую идеологию.
Java 11 поддерживается, однако аккуратнее со сторонними зависимостями.
Как то в моем мировоззрении не стыкуются спринг со всем вышеописанном багажом и идея микросервисов. Да и список сервлет контейнеров не впечатляет. Caucho Resin нет например, а у него экстремально быстрый веб-сервер встроенный.
На последнем Joker'е был доклад как раз на эту тему, ребята сравнивали Micronaut vs Spring Boot. Если не вдаваться в детали, то пока вы пишите HelloWorld'ы, то Spring безусловно проигрывает как по потреблению памяти, так и времени старта. Но как только вы добавляете ту же БД, разница становится уже не такой очевидной.
Интересно. Попробую
A пример запроса и того как его отправить будут?
Меня, например, устроили бы примеры для Soap UI.
Я к чему? — для меня в данной среде и данном примере совсем не очевиден процесс сериализации/десериализации объектов в/из json/xml? Какой вариант сериализации используется тут? С какими httpзаголовками посылать запрос и тд. и тп. Нужны примеры.
Меня, например, устроили бы примеры для 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-код который умеет отсылать запрос на сервер в подходящем формате
Не спорю)
Наследовать проект от 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.io/projects/platform для spring-boot как раз заканчивается 9 April 2019. Посмотрите ссылки после UPDATE в статье.
Причем здесь вообще Spring IO Platform? По ссылке из вашего же комментария они говорят, что остаётся ровно два способа получить менеджмент версий зависимостей: либо отнаследоваться проектом от spring-boot-starter-parent, либо импортировать spring-boot-dependencies.
Вариант с чужим parent-ом работает ровно до тех пор, пока не понадобится свой (или захочется менеджмента версий для более чем одного набора библиотек).
Вариант с чужим parent-ом работает ровно до тех пор, пока не понадобится свой (или захочется менеджмента версий для более чем одного набора библиотек).
Для тех, кому интересно — есть до неприличия простой способ создания REST API — через Spring Data REST. Плюс сервис можно укомплектовать каким-нибудь The HAL Browser — сразу и тестирование из коробки.
А если нужно и web, и data — в pom в зависимости писать сразу два стартера?
А, сам вычитал в https://www.javadevjournal.com/spring-boot/spring-boot-application-intellij/
Да, хоть десять стартеров подряд. Хоть сотню.
Jook ещё некоторую часть кода может сгенерить по БД
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Введение в Spring Boot: создание простого REST API на Java