问题描述:
在设计spring的web后台应用时,经常会用到@Responsebody 来处理返回值(将返回的对象,进行json化处理然后返回给前端),但是会遇到对象中一些数据过于冗长且前端又不需要,但是使用了@Respsonsebody很难进行一些处理,故而这个时候就可以用到spring5.x后支持的@JsonView
解决方式:
新建一个用来区分你格式的类(只是区分的作用不需要定义实现方法)
public class View {
public interface Custome{};
}
然后在你要返回的对象类型中,想要返回的实例变量上方添加@JsonView(View.Custome.class)
public Class User implements Serializer{
@JsonView(View.Custome.class)
private Integer uid;
@JsonView(View.Custome.class)
private String first;
@JsonView(View.Custome.class)
private String last;
@JsonView(View.Custome.class)
private String email;
@JsonView(View.Custome.class)
private String password;
private Integer status;
}
在你的controller中也添加上如下代码
@RequestMapping(value="/login", method=RequestMethod.POST)
@JsonView(View.custome.class)
@ResponseBody
public User getUser(String email, String password){
User user = userMapper.findUser(email,password);
return user;
}
}
码完收工!!这样最后输出的User模型中就不会存在status的信息了。
----end----