一、@JsonView注解的简介

@JsonView是jackson json中的一个注解,Spring webmvc也支持这个注解,它的作用就是控制输入输出后的json

二,@JsonView的使用

(1)首先现在在需要返回的实体类使用接口来声明多个视图

public class User {public interface UserSimpleView {};public interface UserDetailView extends UserSimpleView {};private String name;private  String password;public String getName (){return name;}public void setName (String name){this.name = name;}public String getPassword (){return password;}public void setPassword (String password){this.password = password;}
}

(2)在值对象的get方法上指定视图

public class User {public interface UserSimpleView {};public interface UserDetailView extends UserSimpleView {};private String name;private  String password;@JsonView(UserSimpleView.class)public String getNname (){return name;}public void setName (String name){this.name = name;}@JsonView(UserDetailView.class)public String getPassword (){return password;}public void setPassword (String password){this.password = password;}
}

(3)3.在controller方法上指定视图

@RequestMapping(value="/findUserBySimpleView/{id:\\d+}",method=RequestMethod.GET)@JsonView(User.UserSimpleView.class)public User findUserBySimpleView(@PathVariable(value="id")String number) {User user=new User();user.setPassword(number);user.setName("梁文广");return user;}@RequestMapping(value="/findUserByDetailView/{id:\\d+}",method=RequestMethod.GET)@JsonView(User.UserDetailView.class)public User findUserByDetailView(@PathVariable(value="id")String number) {User user=new User();user.setPassword(number);user.setName("梁文广");return user;}

上面第一个方法的放回值是这种类型(类似这种结构):

[{"name":123},{"name":456},{"name":789}]或者{"name":123}

上面第二个方法的放回值是这种类型(类似这种结构):

[{"name":123,"password":"aaa"},{"name":456,"password":"bbb"},{"name":789,"password":"ccc"}]或者

{{"name":123,"password":"aaa"}}

这样就可以实现了返回一个相同的实体类json时,用@JsonView来控制需要返回的信息。

@JsonView注解的使用相关推荐

  1. @JsonView注解的简单使用

    @JsonView注解的使用 简介 @JsonView是jackson json中的一个注解,Spring MVC也支持这个注解,它的作用就是控制输入输出后的json的属性种类 @JsonView注解 ...

  2. 利用@jsonView注解来实现自定义返回字段

    业务场景:比如说一个User对象,有两个字段,一个username,一个password,有一个获取用户信息的接口要返回这个User列表,但是不想要这个User列表的password字段. 还有一个接 ...

  3. Restful API注解之@PathVariable和@JsonView详解

    **对于restful API的使用可以查看我之前的文章SpringMVC开发restful API查询请求 本文将在restful API的基础上介绍@PathVariable和@JsonView注 ...

  4. jackson 驼峰注解_jackson - jackson annotations注解详解

    jackson 1.x和2.x版本的注解是放置在不同的包下的 1.x是在jackson core jar包org.codehaus.jackson.annotate下 2.x是在jackson-dat ...

  5. @JsonView 详解(理论+实战)

    @JsonView 对比场景 数据库按需查询[推荐] Dao查询列表的时候,仅仅查询基础信息,不包含密码信息:查询详情的时候,就把更详细的详细查询并返回: 定义不同的前端视图对象 查询的时候,都把详细 ...

  6. 2.Spring Boot 中Json的使用,Jackson注解详解

    一.前言 1.介绍 我们常在项目中使用的Json转换工具是fastjson,事实上spring本身集成了非常优秀的json工具,分别为Jackson,Gson,JSON-B,但是官方项目中默认推荐使用 ...

  7. RequestBodyAdvice和ResponseBodyAdvice

    1.类层次结构 1.1 RequestBodyAdviceAdapter 实现了beforeBodyRead,afterBodyRead,handleEmptyBody,只是简单实现,不作任何处理,直 ...

  8. SpringBoot 接口数据加解密

    xx项目有于安全问题,需要对接口整体进行加密处理,我们怎么处理呢. 和产品.前端讨论需求后,梳理了相关技术方案,主要的需求点如下: 尽量少改动,不影响之前的业务逻辑: 考虑到时间紧迫性,可采用对称性加 ...

  9. Jackson配置大全

    jackson支持以下格式 Avro, BSON, CBOR, CSV, Smile, (Java) Properties, Protobuf, TOML, XML or YAML; 基础注解 注解 ...

  10. 6、Spring MVC 之 定义@RequestMapping处理方法

    @RequestMapping处理器方法可以非常灵活的签名.支持的方法参数和返回值在以下部分中描述.大多数参数可用于任意顺序除了BindingResult这个唯一的参数例外.下一节中将会描述. not ...

最新文章

  1. java线程stop re_Java 多线程 之 stop停止线程实例
  2. java Scanner具有神奇的作用可惜大部分java开发人员不知
  3. 【深度学习】CornerNet: 将目标检测问题视作关键点检测与配对
  4. Linux 内核获取、初次编译、源码目录分析
  5. frame或者iframe的contentwindow属性
  6. 【Python3之内置函数】
  7. LeetCode 236. 二叉树的最近公共祖先(递归)
  8. python画柱状图-Python画柱状统计图操作示例【基于matplotlib库】
  9. cygwin/msys: fatal error LNK1104: 无法打开文件“kernel32.lib”
  10. 有朋友问了数据库ID不连续,怎么获取上一篇和下一篇的文章?(不是所有情况都适用)...
  11. SCVMM2012 SP1 之添加非受信任Hyper-V
  12. 电路 常见的数据线接口
  13. centos shell基础 alias 变量单引号 双引号 history 错误重定向 21 jobs 环境变量 .bash_history source配置文件 nohup ...
  14. 小程序--微信拼团设计实现
  15. win10激活工具---KMSAutoNet
  16. 【计算机网络学习笔记】计算机网络
  17. 2021-2027全球与中国物联网网关设备市场现状及未来发展趋势
  18. EMU8086开发工具_微机原理
  19. 【从零开始学习 SystemVerilog】2.8、SystemVerilog 数据类型—— Unpacked Arrays(非压缩数组)
  20. 深度丨银行零售客群策略与标签体系搭建指南

热门文章

  1. EOS钱包及代码分析
  2. tomcat版本区别
  3. 免疫算法小结及算法实例(附Matlab代码)
  4. 01 安装STEP7软件和USB驱动
  5. 常见绿盟扫描主机漏洞及修复方案
  6. JAVAEE智慧树第二次作业
  7. 酷Q萌萌机器人_GitHub - Titvt/CQRobot: 酷Q机器人——麦萌萌小管家
  8. 一个离线的简单的 JSON 格式化编辑器
  9. ITIL 4讲解: 变更管理
  10. 解决Maven项目pom文件中出现的错误:Missing artifact oracle:ojdbc7:jar:12.1.0.2.0:compile