相同的控制器根据Spring Boot Rest Controller中的角色返回不同数量的信息

时间:2018-01-25 20:51:20

标签: java spring spring-boot spring-security

在我的REST服务器中,我有一个带有映射“/ users”的控制器:

@RequestMapping(value = "/users", method = RequestMethod.GET)
public List<UserModel> getAllUsers() {...}

我想使用Spring Boot Security with Roles来确定要返回多少信息。例如:

public class UserModel {
  private MetaDataModel user_metadata;
  private MetaDataModel private_admin_metadata; 
}

因此,当具有admin角色的用户调用getAllUsers时,UserModel会提供这两个字段,否则它只提供user_metadata字段。我完全接受这样的想法,即有更好的方法,所以欢迎任何建议!

1 个答案:

答案 0 :(得分:0)

设置响应DTO的适当属性。并使用include not null json注释。请参阅For Spring Boot 1.2.3, how to set ignore null value in JSON serialization?