@JsonView

@JsonView是Spring中的一个注解,用于在不同的请求中返回不同的视图。例如,在请求/users中会返回一个包含基本用户信息的List,此时不应该把所有的用户密码等详情返回出来。但是,当请求某一个用户的详情/user/{id:\+d}时候,则需要返回该用户的所有信息。此时,可以通过JsonView注解来表明如何在不同的请求中返回什么样的视图。

JsonView使用步骤

S1:使用接口来声明多个视图

S2:在返回值对象的get方法上指定视图

S3:在Controller方法上指定视图

一个完整的实例

  1. 返回值类:User类
public class User { // 使用接口来声明多个视图 public interface UserSimpleView{}; public interface UserDetailView extends UserSimpleView{}; private Integer id; private int age; private String userName; private String password; //在返回值对象的get方法上指定视图 @JsonView(UserSimpleView.class) public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @JsonView(UserSimpleView.class) public int getAge() { return age; } public void setAge(int age) { this.age = age; } @JsonView(UserSimpleView.class) public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } @JsonView(UserDetailView.class) public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } 
  1. Controller类
@RestController
@RequestMapping(value = "/rest")
public class DemoController { //在Controller方法上指定视图 @GetMapping("/user") @JsonView(User.UserSimpleView.class) public User getUser(){ User user = new User(); user.setId(1); user.setUserName("liyubo"); user.setAge(25); user.setPassword("yyYYuswoYMOS==s"); return user; } } 
 

转载于:https://www.cnblogs.com/cuiqq/p/10961495.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值