【发布时间】:2014-01-28 20:29:47
【问题描述】:
我有点不确定如何以最佳方式设计复杂的 Spring MVC 应用程序。 该问题与用户管理系统有关。我的 UserVO 实现了 Spring 的 UserDetails 接口。
但是对于请求和响应,只需要特殊部分的信息。 在请求中,应允许发送密码以更改密码。但是像“启用”、“过期”、“锁定”这样的标志显然不应该由用户更改。 另一方面,此信息应显示给用户,因此必须包含在响应中。密码永远不会发送给客户端。
我开始在 setter 和 getter 上使用 JsonIgnore 和 JsonAttribute 注解。但由于标志是布尔值,因此每次更新时它们都会以默认值“false”保持不变。
可能的解决方案:为响应和请求编写 DTO,并使用 Spring 的 ObjectMapper 来持久化它们。这是正确的方法吗?如果我可以使用我的 VO 并设置一些神奇的注释(如果你知道我的意思),我会感觉更舒服;)
【问题讨论】:
标签: spring spring-mvc jpa