有这样一个场景存在一个model类如果User,这里省略了getter/setter方法

class User {String name;String uuid;Long created;    Long updated;Attr attr;
}

class Attr {String field1;String field2;Long field3;
}

在编写后台CRUD API时,CRD都比较简单原模原样存取这个User Model即可。但是涉及到Update这个操作时,如果用户完完整整的返回了已经更改后的object,还是原模原样去存储么?万一请求把一些诸如created这样的字段也给改了怎么办?可以采取几种办法:

1. 限制请求发送。让发送方使用与服务端配套的APIClient,在client中对这些情况进行处理

方法很多,但是如果有人绕过APIClient直接发请求,就很危险了。

2. 过滤请求。服务端在收到这些数据后过滤其中不需要或者不允许更新的部分。

可以对收到的包含update数据的json体进行一些过滤,删除一些字段,这样再反序列化生成对应model时这些值就没了。

ObjectNode root = (ObjectNode) mapper.readTree(updateJson);root.remove(updateBlackList);root.put("updated", System.currentTimeMillis());return root.toString();

其中的mapper时jackson包里的ObjectMapper,root即为输入json转换后的节点。同时向请求json中加入了更新时间。

转载于:https://www.cnblogs.com/lailailai/p/4578658.html

JSON: jasckson 字段 过滤相关推荐

  1. com.alibaba.fastjson 对象转json剔除字段

    com.alibaba.fastjson 对象转json剔除字段 问题背景描述 问题处理 问题背景描述 java代码保存数据到mysql的同时需要保存一份到es,由于对象字段很多,建两个实体类分别写值 ...

  2. webapi 控制json的字段(key)显示顺序

    原文:webapi 控制json的字段(key)显示顺序 使用两个c#的特性: 加在类上的:[DataContract] 加在字段上的:[DataMember(Name = "ResultC ...

  3. json mysql 字段 默认值_MySQL中的JSON类型

    前言(废话) 昨天抽了点时间在网上搜列了一个开源项目,项目挺完整的,前后台分离还带有微信小程序,我Clone下代码,经过一番倒腾,嘿~还真就跑起来了.在这个过程中,体验了一把VUE项目工程细节,因为之 ...

  4. 强大的DataGrid组件[13]_字段过滤(Filter)——Silverlight学习笔记[21]

    在DataGrid中使用字段过滤可以用来进行数据的筛选,查找出符合条件的信息.本文将为大家介绍如何对DataGrid执行字段过滤. 需要了解的知识 1)PagedCollectionView 它代表了 ...

  5. 在 MyBatis 里,如何将 JSON 型字段到 Java 类的映射

    一.简介 我们在用MyBatis里,很多时间有这样一个需求:POJO里有个属性是非基本数据类型,在DB存储时我们想存的是json格式的字符串,从DB拿出来时想直接映射成目标类型,也即json格式的字符 ...

  6. java解析sql查询字段_sql解析json格式字段 如何获取json中某个字段的值?

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  7. 解决VO类属性与要返回的json串字段名称不一样的问题

    结论:解决VO类属性与要返回的json串字段名称不一样的问题,需要用到@JsonProperty("xxx")这个注解 那具体怎么使用呢?下面我拿我个人的例子来说明. 需要返回的j ...

  8. 实现 ResponseBodyAdvice 定制化JSON 返回字段

    细粒度定制化JSON返回字段,精确控制每一个接口方法返回的字段 1. 创建注解CustomReturnJson 标注在controller 的方法上. 示例: @RequestMapping(&quo ...

  9. json mysql 字段 默认值_MySQL新增JSON类型字段的使用总结

    最近刚好用到了MySQL的JSON函数做了一些数据处理相关的工作,顺便记录总结一下相关知识点和用法. MySQL从5.7.8开始支持原生JSON数据类型,以JSON类型存储json格式的数据,比字符串 ...

  10. 解决微信小程序“app.json: [“workers“] 字段需为 目录“错误及worker的使用

    我们如果遇到[ miniprogram/app.json 文件内容错误] miniprogram/app.json: ["workers"] 字段需为 目录(env: Window ...

最新文章

  1. 修改maven本地仓库的位置及疑惑
  2. win10计算机记录,启用Windows 10计算器中的历史记录功能 | MOS86
  3. ML 自学者周刊:第 4 期
  4. 引用数据类型的深拷贝
  5. 中文字符串函数php,php截取中文字符串函数实例,_PHP教程
  6. jquery ui datepicker 只能选今天以后的日期
  7. ————————————————————————动态规划——————————————————————1003——————————...
  8. Android GIS开发系列-- 入门季(5) FeatureLayer加载本地shp文件与要素查询
  9. 为用户设计的产品,就应该用用户熟悉的语言
  10. 实验3-1 求一元二次方程的根 (20 分)
  11. 【转】博客美化(5)为博客或系统添加一个强大的评论系统
  12. Java 集合系列-第七篇-List总结
  13. 【winfrom】Excel文件加载
  14. php 多个files 数量,php – 具有多个字段时$_FILES数组的奇怪格式
  15. 【Java】JavaSocket编程开发聊天室-总览与部分客户端界面
  16. LT8918 BT1120转mipi dsi/mipi csi;提供技术支持
  17. java round指令_java中Math.round()的用法
  18. 驱动器控制模式功能简介(CSP,CSV,CST等)
  19. 使用8080并口协议驱动NT35510LCD显示屏
  20. 推荐|别让职业生涯规划毁掉你的成长

热门文章

  1. Spark sql数据倾斜优化的一个演示案例
  2. CASIA WebFace、WIDDER FACE、FDDB、AFLW、CelebA训练集详解
  3. AWS codecommit 的学习记录
  4. 为项目配置了Bean,结果Spring Boot并没有扫描到
  5. Groovy 学习手册(4)
  6. 华为S2600T------v1版本
  7. Android getReadableDatabase() 和 getWritableDatabase()
  8. EF的表连接方法Include() - nlh774
  9. Qt5学习笔记之图标下载和转换
  10. MySQL数据操作:增删改查