老师您好,项目里很多时候使用统一封装返回结果,例如课程中的SimpleResponse类。
public class User {
public interface UserInfo{};
public interface UserDetail extends UserInfo{};
private String username;
private String password;
@JsonView(UserInfo.class)
public String getUsername() {
return username;
}
@JsonView(UserDetail.class)
public String getPassword() {
return password;
}
}
@RequestMapping("/user")
@JsonView(User.UserInfo.class)
public User getUser(@RequestParam String username){
User user = new User();
user.setUsername("123");
user.setPassword("123");
return user;
}
@RequestMapping("/user")
@JsonView(User.UserInfo.class)
public SimpleResponse getUser(@RequestParam String username){
User user = new User();
user.setUsername("123");
user.setPassword("123");
return new SimpleResponse(user);
}
在第一个返回中 可以只给前端展示username属性
但是在第二个返回中 用SimpleResponse包装了User对象后,JsonView就失效了,在前端无法获取到User对象的数据。
想问下老师这种包装数据可不可以用@JsonView控制
谢谢老师
Spring Security技术栈,REST风格开发常见接口,独立开发认证授权模块保证REST服务安全
了解课程