@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阅读 134,923评论 18 139
  • 这些属性是否生效取决于对应的组件是否声明为 Spring 应用程序上下文里的 Bean(基本是自动配置的),为一个...
    发光的鱼阅读 1,446评论 0 14
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,954评论 6 342
  • 苏武,天汉元年拜中郎将,当时汉朝和匈奴的关系时好时坏。公元前100年,匈奴政权新单于即位,尊“大汉朝” 为老丈人,...
    秋色无边阅读 1,377评论 0 1
  • 秋夜已消解了一遍鸡鸣,是天交次日的光景。如是我闻,三更有梦书当枕。 秋风起时,似顿悟般决定以后看书不再...
    禅味微凉阅读 408评论 2 2