【发布时间】:2017-04-25 18:40:28
【问题描述】:
在我的 Spring Boot 中,我有用户 @Entity 喜欢:
用户:
public class User {
private long id;
private String username;
private String password;
private String email;
private LocalDate birthday;
private boolean enabled = false;
private String firstName;
private String lastName;
private String address;
@ManyToMany(mappedBy = "users")
private Set<Game> games;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "gameOwner", orphanRemoval = true)
private List<Game> gamesOwned;
}
在休息 API。我想创建User,所以我创建了UserDto。
public class UserDto {
private String username;
private String password;
private String email;
private LocalDate birthday;
private String firstName;
private String lastName;
private String address;
}
问题?
我有 User 实体和 DTO 类。要创建用户,我使用 DTO 类。为了获得用户,我不能使用 DTO 类,因为它包含的信息比我要少。我应该用@JsonIgnore 注释User 类还是创建另一个DTO?
【问题讨论】:
-
你的问题是什么,因为不清楚?
-
@AlanHay 我刚刚编辑了我的问题 :)
-
一种选择是避免 DTO 并直接处理实体。有些人会反对,但这是一个见仁见智的问题。您可以使用这种方法并使用 Spring Data 和 Spring Data Rest 模块创建一个几乎没有代码的完整 REST API。 spring.io/guides/gs/accessing-data-rest