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

还有一个接口要获取这个User列表,要全部字段。

解决场景:我们可以有多种方法,比如说获取list之后把user列表的密码全部设为空,然后再用其他注解来设置  为空的字段不显示

还可以在sql中就不查password字段。

但是  我们要介绍这个注解来实现这个功能。@jsonView

需要三步即可:

  • 第一:用接口来声明多个视图
  • 第二:在值对象的get方法上指定视图
  • 第三:在controller方法上指定视图

话不多说~~~看代码------》

User.java

package com.imooc;import com.fasterxml.jackson.annotation.JsonView;
import lombok.AllArgsConstructor;
import lombok.Setter;/*** Created by 敲代码的卡卡罗特* on 2018/4/14 22:58.*/
@Setter
@AllArgsConstructor
public class User {public interface UserInfo{};public interface UserDetail extends UserInfo{};private String name;private String password;@JsonView(UserInfo.class)public String getName() {return name;}@JsonView(UserDetail.class)public String getPassword() {return password;}
}

View Code

在user对象中声明两个接口(视图),一个继承另一个,你懂得!!!然后在字段的get方法上声明视图

Controller.java

@GetMapping("/hello")@JsonView(User.UserInfo.class)public HashMap hello() {HashMap hashMap = new HashMap();User user1 = new User("liu","123");User user2 = new User("zhang","456");hashMap.put("u1",user1);hashMap.put("u2",user2);return hashMap;}

View Code

在controller中声明视图   自己看下结果吧。

转载于:https://www.cnblogs.com/coder-lzh/p/8836617.html

利用@jsonView注解来实现自定义返回字段相关推荐

  1. JPA 自定义返回字段

    实体类:User.java @Data @Accessors(chain = true) @EqualsAndHashCode(callSuper = true) @Entity @Table(nam ...

  2. FastJson序列化Json自定义返回字段,普通类从spring容器中获取bean

    前言: 数据库的字段比如:price:1 ,返回需要price:1元. 这时两种途径修改: ① 比如sql中修改或者是在实体类转json前遍历修改. ②返回json,序列化时候修改.用到的是fastj ...

  3. Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件

    本章内容 自定义属性快速入门 外化配置 自动配置 自定义创建 Starter 组件 摘录:读书是读完这些文字还要好好用心去想想,写书也一样,做任何事也一样 图 2 第二章目录结构图 第 2 章 Spr ...

  4. java 注解报错_java注解验证接收参数 返回注解字段的错误

    1.在controller接口方法接收参数加上 @Valid注解 并且在实体类参数后紧跟 BindingResult bindingresul BindingResultMsgUtil工具类: pub ...

  5. springboot控制接口返回的字段_SpringBoot实战:SpringBoot之Rest Full接口自定义返回数据类型(ResponseBodyAdvice)...

    我们在日常开发的过程中,经常会要求统一返回数据格式.如要求统一访问格式为 { "success": 请求是否成功, "message": 请求消息, " ...

  6. return error怎么定义_SpringBoot 系列 web 篇之自定义返回 Http Code 的 n 种姿势

    200105-SpringBoot 系列 web 篇之自定义返回 Http Code 的 n 种姿势 虽然 http 的提供了一整套完整.定义明确的状态码,但实际的业务支持中,后端并不总会遵守这套规则 ...

  7. boot返回码规范 spring_SpringBoot 系列 web 篇之自定义返回 Http Code 的 n 种姿势

    200105-SpringBoot 系列 web 篇之自定义返回 Http Code 的 n 种姿势 虽然 http 的提供了一整套完整.定义明确的状态码,但实际的业务支持中,后端并不总会遵守这套规则 ...

  8. java注释和注解_深入理解JAVA注解(Annotation)以及自定义注解

    Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制.Java 语言中的类.方法.变量.参数和包等都可以被标注.注解可以看作是一种特殊的标记,在程序在编译或 ...

  9. EasyExcel合并单元格,通过注解方式实现自定义合并策略

    EasyExcel合并单元格,通过注解方式实现自定义合并策略 简介 今天博主探讨如何实现EasyExcel自定义实现单元格合并策略,考虑需要抽象代码.适用于更多的业务场景,提供了两个工具类,参考过很多 ...

最新文章

  1. 1.3 字符串拼接(连接)
  2. 中国科学家突破二氧化碳人工合成淀粉技术
  3. Oracle 数据怎么实时同步到 MongoDB | 亲测干货分享建议收藏
  4. 锦标赛排序、洪水填充算法、平衡规划
  5. 2.react的diff算法(2020.12.07)
  6. 多个高危 BIOS 缺陷影响英特尔处理器,特斯拉 Model 3 未幸免,可用于供应链攻击...
  7. .net知识系列之五:(基本控件和数据绑定控件)
  8. 网站被跳转到联通域名无法访问页面
  9. Node.js的安装下载和运行JS代码和常用命令和按键
  10. 从 GitHub 上手动安装python包教程
  11. python处理access数据库教程_Python操作Access数据库基本步骤分析
  12. Xubantu安装google 输入法以及You‘re currently running Fcitx with GUI, but fcitx-configtool couldn‘t be found
  13. STM32基础12--数模转换(DAC)
  14. mds部署服务器系统,CephFS提供/添加/删除MDS
  15. 共享系统APP开发:带你体验真实的共享生活
  16. 第十一章 文件操作_C语言插入、删除、更改文件内容
  17. 将maximo工具栏图标放置在正上方
  18. 【C语言总结】C语言预处理器
  19. 中国PETG市场预测及战略研究报告(2022版)
  20. 3232. 计算球体积

热门文章

  1. 双面黄琳:世界顶级女黑客,两个孩子的迟钝妈妈
  2. java同步锁如何使用_java 同步锁(synchronized)的正确使用姿势
  3. ATSAMD21-XPRO开发板 评估基于 ATSAM D21 CortexM0+ 的微控制器
  4. 火线妹在线求偶,想找高质量男朋,粉丝:有没有绯闻心里没数?
  5. JavaWeb课程复习资料(四)——创建Servlet
  6. 学习MongoDB 十一: MongoDB聚合(Aggregation Pipeline基础篇上)(三)
  7. Mysql一些维护命令
  8. 详解 Too many open files
  9. gg参数:dblogreader
  10. OCM备考 三. Managing Database Availability 之flashback