Swagger OpenAPI模型与JPA实体之间的映射

时间:2019-04-02 18:35:08

标签: java hibernate jpa swagger swagger-codegen

我试图在Java REST-API中映射 openAPI模型(使用Swagger代码生成)和 JPA实体(从Hibernate中的数据库模式生成),以便我可以使用JPA(hibernate)实体将接收到的模型保存到数据库中,并使用模型创建响应以从数据库中获取数据。

我知道我可以分别创建使用模型和实体,并创建一种从一种转换为另一种的机制。但是,如果模型中的数据库或字段有任何更改,我需要同时更新模型和实体,这很麻烦。

是否有任何方法可以定义模型/实体,使其可以在Swagger和Hibernate JPA中使用?并且不需要创建它们两者(这是多余的)

1 个答案:

答案 0 :(得分:0)

经过研究,我发现了DTO(数据传输对象)的概念,可以根据您对API调用的响应将其映射到您的模型。

您可以使用ModelMapper或创建自定义映射器来执行从模型到DTO的转换。

您可以在Spring Boot(Gradle)中为ModelMapper使用以下软件包:

implementation 'org.modelmapper:modelmapper:2.3.0'