@JsonView 帮你个性化定制spring的Json返回值

问题描述:

在设计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----

你可能感兴趣的