Рубрики
Без рубрики

Как это сделать: Весенняя загрузка JPA + ОТДЫХ с помощью Boot

С помощью Spring Initializr мы можем создать базовую структуру проекта, но уведомлять.ио делает один шаг… С пометкой java, spring boot, микросервисы, учебник.

С помощью Spring Initializr мы можем создать базовую структуру проекта, но С помощью Spring Initializr мы можем создать базовую структуру проекта, но делаем еще один шаг вперед: мы определяем нашу собственную схему базы данных, со всеми объектами, доступными через простой REST API. В этой статье мы хотим создать небольшой пример приложения для управления ваучерами с помощью Booify.

Выбор базы данных

С надписью “Начать проект” на Notify.io создается новый проект, который хранится под собственным URL-адресом. Он должен быть сохранен для последующего доступа. При этом мы непосредственно участвуем в создании нашего приложения.

На первой вкладке “Общие” есть такие настройки, как название проекта, тип сборки (Maven/Gradle) или включение ломбока. Здесь вы можете выбрать свою базу данных – вы можете найти MySQL, MS SQL и Derby среди других. Но мы остаемся с PostgreSQL. Генерацию схемы можно выполнить с помощью гибернации ( ddl-auto: обновление ), но это не рекомендуется для производственного использования. Поэтому мы остаемся с liquibase, и будут предоставлены списки изменений для нашей схемы.

Для нашего простого примера дополнительные зависимости не требуются. Таким образом, кроме названия, мы не изменили здесь никаких настроек по умолчанию.

Сущности

Давайте теперь перейдем к сути нашего приложения – таблицам. Во вкладке “Сущности” создаем первую таблицу Ваучер с полями статус ваучера , код ваучера , начальное значение и текущее значение . Все поля обязательны для заполнения, поэтому код ваучера также уникален. Мы также изменим тип наших двух полей значений на числовой. Предоставив эту информацию, мы уже можем сохранить нашу первую таблицу.

В качестве второй таблицы мы хотим иметь Действие ваучера . Здесь у нас есть поля источник ((строка) и Значение изменения (числовой). Все таблицы автоматически снабжаются полями первичного ключа и даты (если опция не отключена на вкладке “Общие”). Для этого примера дата создания должна быть достаточной для отслеживания даты действия.

Для обеих наших таблиц мы сохраняем флажок “Добавить конечные точки REST”, поэтому предоставляется API REST с простыми операциями CRUD.

“Ваучер” и “Ваучерактивность” находятся в легком для понимания соотношении 1: N, которое мы также добавляем новое.

Это завершает нашу модель базы данных. Это также сразу же показано нам в виде диаграммы UML в предварительном просмотре.

Перечисления

Поскольку мы хотели бы иметь определенный набор состояний для поля Статус ваучера , , , , мы создаем дополнительное перечисление VoucherStatus во вкладке "Объекты данных". Для нашего примера это перечисление содержит константы ДЕЙСТВИТЕЛЬНЫЙ , ВЫКУПЛЕННЫЙ

Теперь мы можем выбрать новое перечисление в качестве пользовательского типа перечисления в Ваучере сущности в соответствующем поле.

Предварительный просмотр и загрузка

Теперь мы уже можем взглянуть на текущий код с помощью пункта “Исследовать”. В упаковке домен мы видим сущности и репозитории, которые формируют слой ORM, используя Spring Data и Hibernate. В упаковке отдых мы видим контроллеры REST с конечными точками CRUD. В ресурсы/журналы изменений мы можем найти скрипт liquibase, который сгенерирует нашу схему базы данных.

Если мы удовлетворены результатом, мы можем загрузить код и импортировать его в вашу любимую среду разработки.

Следующие шаги – IntelliJ

Чтобы новое приложение работало на вашем собственном компьютере, давайте импортируем приложение в IntelliJ. Самый простой способ сделать это – использовать “Создать > Проект из существующих источников” и выбрать build.gradle .

После этого мы можем обновить учетные данные базы данных для нашей тестовой системы. В приложении.yml мы видим некоторые выражения, ссылающиеся на переменные среды (например, JDBC_DATABASE_PASSWORD ) с отступом за двоеточием – теперь мы можем указать наши локальные переменные. База данных, на которую вы ссылаетесь, должна существовать в пустом состоянии.

С этим мы, наконец, можем запустить первую версию нашего приложения. Конфигурация запуска может выглядеть следующим образом. В качестве опции виртуальной машины мы также активировали профиль локальный – с помощью этого мы могли бы добавить приложение-локальный.yml , например, и поместите свои учетные данные базы данных в отдельный YAML. Но поначалу в этом нет необходимости.

Готовы начать

Теперь мы можем запустить наше приложение. Поскольку у нас был активирован OpenAPI, есть также пользовательский интерфейс Swagger, доступный по адресу http://localhost:8080/swagger-ui.html где мы можем опробовать наш REST API.

Я желаю вам больших успехов с вашими новыми приложениями! Не стесняйтесь обращаться ко мне по вашим вопросам на Bootify.io .

Оригинал: “https://dev.to/tleipzig/how-to-spring-boot-jpa-rest-with-bootify-mp1”