【发布时间】:2018-05-04 08:14:25
【问题描述】:
我有一个关于将实体转换为 DTO 的问题。我读过最好在休息应用程序中将实体转换为 DTO,以便隐藏您的实体数据。 例如 如果我有一个实体用户并且有两个其余端点 - GET 和 PUT。 GET 获取数据,PUT 更新数据。现在,如果我不将实体转换为 DTO,我将公开我的实体实例,并且有人可以使用带有 PUT 方法的实例并更新用户数据。
但我的问题是,如果我在使用 GET 和 PUT 方法(大多数开发人员都这样做)的同时使用相同的 DTO 类来转换数据,也会发生这种情况。那么实体到 DTO 的转换如何提高安全性。
User.java
@Entity
@Table
public class User{
private int id;
private int name;
private String password;
}
请给你宝贵的cmets来澄清我的这个疑问。谢谢!
【问题讨论】:
-
someone could use the instance with PUT method and update the User Data- 这就是游戏授权的地方。只有 AUTHORIZED 用户才能执行相应的操作。 -
@J-Alex : 很好.. 我在问 DTO 在这方面有什么帮助?