在Spring Boot应用程序中使用MapStruct映射两个对象的步骤如下:
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.4.2.Final</version>
</dependency>
public class Source {
private String name;
private int age;
// getters and setters
}
public class Target {
private String fullName;
private int years;
// getters and setters
}
@Mapper
public interface MyMapper {
MyMapper INSTANCE = Mappers.getMapper(MyMapper.class);
@Mapping(source = "name", target = "fullName")
@Mapping(source = "age", target = "years")
Target sourceToTarget(Source source);
@InheritInverseConfiguration
Source targetToSource(Target target);
}
在上面的示例中,@Mapper注解表示这是一个MapStruct映射器接口。@Mapping注解用于指定源对象和目标对象之间的映射关系。@InheritInverseConfiguration注解用于指定反向映射规则。
@RestController
public class MyController {
@Autowired
private MyMapper mapper;
@PostMapping("/map")
public Target mapObjects(@RequestBody Source source) {
return mapper.sourceToTarget(source);
}
}
在上面的示例中,使用@Autowired注解将映射器接口注入到控制器中。然后,在映射方法中调用映射器接口的方法进行对象映射。
这样,当调用POST /map
接口时,将会自动将请求体中的Source对象映射为Target对象,并返回映射后的Target对象作为响应。
关于MapStruct的更多信息和用法,请参考腾讯云的相关产品和文档:
领取专属 10元无门槛券
手把手带您无忧上云