嵌套DTO要求

问题描述 投票:0回答:1

我需要Employee对象作为响应,其中包含角色对象和用户对象管理器作为字段。我只需要显示经理和角色对象的几个字段。我不确定在显示员工DTO时如何实现。

请帮助我

public class Employee  {

    private String employeeID;
    private String firstName;
    private String lastName;
    private String email;
    private Set<Role> roles;
    private String mobileNumber;
    private String type;
    private boolean isEnable;
    private Employee supervisor;
    private List<Branch> branches;
}

我只需要管理员的姓名和电子邮件以及角色对象的几个字段

hibernate spring-boot entity nhibernate-mapping spring-rest
1个回答
1
投票

假设您选择使用单独的ResponseDTO。

您可以使用mapstruct将您的EmployeeDTO映射到ResponseDTO,如下所示:

@Mapper(componentModel = "spring") 
public interface EmployeeMapper { 
    ResponseDTO getResponseDTOFromEmployeeDTO(EmployeeDTO employeeDTO); 
}

此外,如果您的ResponseDTO包含与EmployeeDTO不同的字段名称,则可以如下进行映射。

假设您在EmployeeDTO中有employeeId,在ResponseDTO中有id

    @Mapper(componentModel = "spring") 
    public interface EmployeeMapper { 
        @Mappings({@Mapping(target = "id", source = "employeeId")})
        ResponseDTO getResponseDTOFromEmployeeDTO(EmployeeDTO employeeDTO); 
    }

希望这会有所帮助。

不要忘记将所需的依赖项放入pom。

© www.soinside.com 2019 - 2024. All rights reserved.