根据 Spring Boot Rest Controller 中的角色,同一控制器返回不同数量的信息
Posted
技术标签:
【中文标题】根据 Spring Boot Rest Controller 中的角色,同一控制器返回不同数量的信息【英文标题】:Same controller returning different amounts of information depending on role in Spring Boot Rest Controller 【发布时间】:2018-07-05 05:22:04 【问题描述】:在我的 REST 服务器中,我有一个映射为“/users”的控制器:
@RequestMapping(value = "/users", method = RequestMethod.GET)
public List<UserModel> getAllUsers() ...
我想使用带有角色的 Spring Boot Security 来确定要返回多少信息。例如:
public class UserModel
private MetaDataModel user_metadata;
private MetaDataModel private_admin_metadata;
因此,当具有管理员角色的用户调用 getAllUsers 时,UserModel 提供这两个字段,否则它只提供 user_metadata 字段。我完全同意有更好的方法来解决这个问题,所以欢迎提出任何建议!
【问题讨论】:
有很多解决方案。也许您应该使用 Google 并找到一些解决方案,以使您的问题不那么广泛。 【参考方案1】:设置响应 DTO 的适当属性。并使用 include not null json 注释。参考For Spring Boot 1.2.3, how to set ignore null value in JSON serialization?
【讨论】:
以上是关于根据 Spring Boot Rest Controller 中的角色,同一控制器返回不同数量的信息的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot MongoDB REST - 自定义存储库方法
在 Spring Boot REST 应用程序中处理 gzipped 请求
如果它是一个 Rest 控制器,如何确保 Spring boot 自动编组一个类的对象