首页 > 解决方案 > REST API 用户资源及其密码

问题描述

我仍在学习 REST API 原则,而这一点仍然让我感到困惑。用户资源中的密码是私有的,当然不能放在响应中,而有时我们需要获取公开的用户数据(例如,当有人看到别人的用户页面时)。我们如何根据 REST API 原则处理这个问题?我应该在发送之前删除响应中的密码吗?

标签: rest

解决方案


是的,您不应返回密码作为响应。我建议你应该创建两个 DTO

  • UserInputDTO:这包含密码和其他值
  • UserOutputDTO:这里只有对输出有用的字段,我们可以排除密码字段和与您的内部实现相关的字段。

如果您的输入和输出看起来相同,那么您可以JsonIgnore在密码字段上添加注释。

如果通过删除您的意思是设置它,null那么用户仍然可以看到 fieldname password,并且如果您在任何时候忘记将其设置为 null 那么这将是一个安全问题。要解决此问题,您可以使用JsonIgnore注解。


推荐阅读