問題描述:
在設(shè)計(jì)spring的web后臺(tái)應(yīng)用時(shí)逃糟,經(jīng)常會(huì)用到@Responsebody 來處理返回值(將返回的對象疯淫,進(jìn)行json化處理然后返回給前端),但是會(huì)遇到對象中一些數(shù)據(jù)過于冗長且前端又不需要肤无,但是使用了@Respsonsebody很難進(jìn)行一些處理论泛,故而這個(gè)時(shí)候就可以用到spring5.x后支持的@JsonView
解決方式:
新建一個(gè)用來區(qū)分你格式的類(只是區(qū)分的作用不需要定義實(shí)現(xiàn)方法)
public class View {
public interface Custome{};
}
然后在你要返回的對象類型中,想要返回的實(shí)例變量上方添加@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;
}
}
碼完收工K鳌方面!這樣最后輸出的User模型中就不會(huì)存在status的信息了。
----end----