我有一个DTO。我不想在MapStruct中映射所有字段。
例如,User和UserDTO
public class UserDTO {
private Long id;
private String username;
private String password;
private String email;
private boolean active;
private String activationCode;
private Set<Role> roles;
}
我有下一个映射器:
User fromUserDTO(UserDTO userDTO);
我不想映射ID,用户名,密码,电子邮件。我如何指出这些字段不会卡住?
User user = fromUserDTO(userDTO);
最佳答案
我找到了答案。
我可以忽略一个字段:
@Mapping(target = "id", ignore = true)
User fromUserDTO(UserDTO userDTO);
或者我可以忽略等于null的字段:
@Mapping(target="id", nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)
User fromUserDTO(UserDTO userDTO);
关于java - MapStruct:如何过滤到我想要和不想映射的字段?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57969450/