Сопоставление модели Swagger OpenAPI и сущности JPA - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь отобразить модель openAPI (сгенерированную с использованием Swagger codegen) и JPA Entity (сгенерированную из схемы базы данных в Hibernate) в моем java REST-API, чтобы я могсохранить полученную модель в базу данных, используя сущность JPA (hibernate), и использовать модель для создания ответа на выборку данных из базы данных.

Я знаю, что могу создать модель использования и сущность отдельно и создать механизм для преобразования из одного в другое.Однако, если есть какие-либо изменения в базе данных или поле в модели, мне нужно обновить как модель, так и сущность, что является громоздким.

Есть ли способ определить модель / сущность так, чтобы ее можно было использовать как в Swagger, так и в спящем JPA?и не требуется создавать их оба (что является избыточным)

1 Ответ

0 голосов
/ 01 мая 2019

После некоторых исследований я обнаружил концепцию DTO (объекта передачи данных), который можно сопоставить с вашей моделью в соответствии с вашим ответом на вызов API.

Вы можете использовать ModelMapper или создать собственный преобразователь для выполненияпреобразование из модели в DTO.

Вы можете использовать следующий пакет при весенней загрузке (Gradle) для ModelMapper:

implementation 'org.modelmapper:modelmapper:2.3.0'
...