@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----

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 129,416评论 18 137
  • 这些属性是否生效取决于对应的组件是否声明为 Spring 应用程序上下文里的 Bean(基本是自动配置的),为一个...
    发光的鱼阅读 1,136评论 0 14
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 43,360评论 6 343
  • 苏武,天汉元年拜中郎将,当时汉朝和匈奴的关系时好时坏。公元前100年,匈奴政权新单于即位,尊“大汉朝” 为老丈人,...
    秋色无边阅读 706评论 0 1
  • 秋夜已消解了一遍鸡鸣,是天交次日的光景。如是我闻,三更有梦书当枕。 秋风起时,似顿悟般决定以后看书不再...
    禅味微凉阅读 287评论 2 2
  • 前面 我以为我没有写过太多关于我曾经呆过两年的这个组织,但是翻看起来却已经写过五篇关于青联的东西了,所以我想在这五...
    继续海阔天空阅读 332评论 0 2
  • 一直以来,我都会对自己有那么多的不认可,致使朋友终于问了一句,你,真的愿意换回去么? 这一问,倒是让我心里发...
    沈夏阅读 169评论 1 0