补充一点,可以在不需要默认序列化的字段加上如下注解:
@JsonSerialize(nullsUsing = NullSerializer.class)
处理逻辑在 org.springblade.core.tool.jackson.BladeBeanSerializerModifier 这个类
因为null或者""在某些app端的http请求框架上会闪退,为了兼容多端,再加上java数组里面,未找到也是返回的-1,0在不少场景下有默认意义,所以框架默认返回了-1.
做了null值的默认序列化,如果特殊情况不需要自带的,可以自己定义
BladeX最新版可以通过如下配置直接关闭
#blade配置 blade: #jackson配置 jackson: #null自动转空值 null-to-empty: false
讨论(3)
-
麻烦问下要怎么改?重写一个配置貌似不行,跑的还是BladeBeanSerializerModifier里的方法
讨论(1)
-
原理就是在HttpMessageConverter中加了一个转换器并且把之前默认的删除了,你需要继承BladeBeanSerializerModifier 自己在MVC中添加一个Converter放在第一位覆盖掉默认的
讨论(1)
-
有办法全局处理没? 一个一个加很累啊,而且不小心容易漏掉
作者追问:2020-05-13 11:00
帖子里已经把逻辑所在的类贴出来了,是这个:org.springblade.core.tool.jackson.BladeBeanSerializerModifier
找到对应的序列化逻辑,改成你想要的就行
讨论(3)
-
说了这么多,最终用哪个方法解决最快最方便呢?
讨论(0)
官方新品
- 热议问题
-
强制有些sql查主库
1
-
报文加密后端加密后传给前端,前端解密发现long类型的数据精度丢失
1
-
iot后台通过feign调用不到服务
1
-
variables.scss的@use引入冲突
1
-
cloud版本远程调用提示file文件名不存在
1
-
BladeX-biz 新建module后,启动报错:Failed to determine suitable jdbc url
1
-
powerjob执行任务状态是等待Worker接收,如何解决通讯问题
1
-
框架4.4.0版本的,现有的功能有支持直接获取远程调用抛出的异常提示吗?
1
-
bladex自定义认证模块
2
-
fegin 远程调用如何传递 BladeUser 到远程?
1
扫一扫访问 Blade技术社区 移动端