我试图在Java REST-API中映射 openAPI模型(使用Swagger代码生成)和 JPA实体(从Hibernate中的数据库模式生成),以便我可以使用JPA(hibernate)实体将接收到的模型保存到数据库中,并使用模型创建响应以从数据库中获取数据。
我知道我可以分别创建使用模型和实体,并创建一种从一种转换为另一种的机制。但是,如果模型中的数据库或字段有任何更改,我需要同时更新模型和实体,这很麻烦。
是否有任何方法可以定义模型/实体,使其可以在Swagger和Hibernate JPA中使用?并且不需要创建它们两者(这是多余的)
答案 0 :(得分:0)
经过研究,我发现了DTO(数据传输对象)的概念,可以根据您对API调用的响应将其映射到您的模型。
您可以使用ModelMapper或创建自定义映射器来执行从模型到DTO的转换。
您可以在Spring Boot(Gradle)中为ModelMapper使用以下软件包:
implementation 'org.modelmapper:modelmapper:2.3.0'