java – 以编程方式更改JsonProperty(Access.WRITE_ONLY)
发布时间:2020-12-15 03:00:18 所属栏目:Java 来源:网络整理
导读:我的 Java对象有一些注释只写入的字段,因为它们不应该通过REST接口发送给用户. @JsonProperty(access = Access.WRITE_ONLY) private ListInteger integerList; 现在我正在尝试实现一个admin-controller,应该发送这些字段. 我的问题是,我可以使用控制器中的代
我的
Java对象有一些注释只写入的字段,因为它们不应该通过REST接口发送给用户.
@JsonProperty(access = Access.WRITE_ONLY) private List<Integer> integerList; 现在我正在尝试实现一个admin-controller,应该发送这些字段. 在此先感谢您的帮助, Codehai 解决方法
是的,使用fasterXML注释有一种更简单的方法.
使用fasterXML创建过滤器,并定义要过滤的字段.可以使用硬编码定义属性列表,也可以在运行时计算属性列表. @JsonFilter("PersonFilter") public class Person { private List<Integer> integerList; private Integer creditCardNUmber; private String firstName; private String lastName; public static FilterProvider getFilter(){ Set<String> fieldsToFilter= new HashSet<>(Arrays.asList("creditCardNUmber","integerList"); SimpleBeanPropertyFilter theFilter = SimpleBeanPropertyFilter .serializeAllExcept(fieldsToFilter); FilterProvider filters = new SimpleFilterProvider() .addFilter("PersonFilter",theFilter); return filters; } } 序列化对象时,可以使用预定义的属性列表进行过滤(public static FilterProvider getFilter(){..}),或者在运行时定义它们. public static String GetObjectAsStringWithFilter(FilterProvider filters,Object jsonObject) { if (jsonObject == null) { return null; } String objectAsString = null; try { objectAsString = objectMapper.writer(filters).writeValueAsString(jsonObject); } catch (Exception e) { ... } return objectAsString; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net-3.5 – Async / await for compact framework v3.5 –
- java – 加载XSLT文件时解析相对路径
- java – Tomcat Jersey Eclipse ClassNotFound org.glassfi
- Java的类型转换
- 开源APM系统skywalking介绍与使用
- java – 在Swing中刷新JTable给出了异常
- java – 在单个流上组合allMatch,noneMatch和anyMatch
- Java 按行读取文件按行写入文件并以空格分割字符串的方法
- java – 无法在android中使用httpconnection连接
- RESTful Web Services: A Tutorial--reference