spring json视图的处理【针对password这种隐藏属性返回】
来源:互联网 发布:php cms管理系统 编辑:程序博客网 时间:2024/05/22 06:29
今天在翻阅spring文档 spring 4.3.9 web功能 点击跳转 的时候发现了倒数第三条有一个新的改动。
JsonView 点击跳转
在我们现实开发中,经常会出现对一些字段隐藏掉,返回的json不显示此字段,比如password 。
这有时候比如我就是写DTO或者设置字段为null
麻烦是麻烦的
@RestControllerpublic class UserController { @GetMapping("/user") @JsonView(User.WithoutPasswordView.class) public User getUser() { return new User("eric", "7!jd#h23"); }}public class User { //没有password字段的视图 public interface WithoutPasswordView {}; //有password字段的视图 public interface WithPasswordView extends WithoutPasswordView {}; private String username; private String password; public User() { } public User(String username, String password) { this.username = username; this.password = password; } @JsonView(WithoutPasswordView.class) public String getUsername() { return this.username; } @JsonView(WithPasswordView.class) public String getPassword() { return this.password; }}
结果【WithoutPasswordView】
{ "username": "eric"}
结果【WithPasswordView】
{ "username": "eric", "password": "7!jd#h23"}
看 getUsername()
方法挂了注解 @JsonView(WithoutPasswordView.class)
,因为WithPasswordView
继承于WithoutPasswordView
,所以WithPasswordViewy
也会有username
字段
但是getPassword()
又挂了WithPasswordView
,所以WithPassword
有两个字段[name,pasword]
,但是WithoutPasswordView
没有password
字段,只有username
字段
这种只针对jackson
不得不说现在的spring语法糖越来越多了。。。
阅读全文
0 0
- spring json视图的处理【针对password这种隐藏属性返回】
- spring mvc 针对不同请求头返回不同的视图
- spring mvc对视图解析器controller返回数据转换json的处理的相关配置
- EditText的password属性值(隐藏密码**)
- jquery处理后台返回来的JSON,JSON中属性为JSON,或者数组的处理
- spring mvc 返回json,xml视图
- @ResponseBody针对Json中Date的处理
- spring mvc 返回json 时间格式处理
- 如何让Spring MVC Controller的同一个方法,根据逻辑判断返回JSON或者HTML视图?
- Spring 返回JSON格式对日期字段的返回统一处理
- spring 4.2.3返回视图(jsp/vm)或者json
- spring boot 返回的json中去掉值为null的属性
- Jquery和Struts2使用Ajax时部分属性以json返回的处理
- 针对spring中@ResponseBody返回中文乱码的解决
- Spring MVC 的的异常处理(跳转页面和返回json双模式)
- spring 视图1-json视图
- 如何让 Spring MVC Controller 的同一个 URL 请求,根据逻辑判断返回 JSON 或者 HTML 视图?
- (已解决)如何让Spring MVC Controller的同一个方法,根据逻辑判断返回JSON或者HTML视图?
- ArcGIS水文分析实战教程(7)细说流域提取
- Linux中rpm命令误卸载了如何恢复?
- [POJ 1258] Agri-Net Kruskal
- 【HDU4052】【ZOJ3540】Adding New Machine 线段树+扫描线
- openssl生成服务器客户端秘钥已经颁发证书等配置命令
- spring json视图的处理【针对password这种隐藏属性返回】
- Linux下svn服务器搭建
- 设计模式
- C++学习:双向链表List(集合)
- AJAX POST&跨域 解决方案
- 自定义View和ViewGroup常用方法执行顺序
- zabbix 监控jvm
- 友盟统计的使用
- Cocos2d-x游戏开发贪吃蛇小游戏(1)环境的搭建