Jackson 返回前端的 Response结果字段大小问题

news2024/11/27 16:26:51

目录

1、问题产生的背景

2、出现的现象

3、解决方案

4、成果展现

5、总结

6、参考文章


1、问题产生的背景

        因为本人最近工作相关的对接外部项目,在我们国内有很多程序员都是使用汉语拼音或者部分字母加上英文复合体定义返回实体VO,这样为了能够符合对接方的字段要求。于是在定义返回实体类型需要按照对方要求进行定义。我是发现好些部分银行里面接口定义的字段也有类似情况。最近在对接一个供水平台的对外提供给某市的公共数据管理平台的时候就发现上述描述情况。      

2、出现的现象

       我在按照对应的文档要求定义了相关的返回实体VO,如下图所示。       

         结果在返回的请求响应结果如下图所示:

       这样返回结果肯定不符合预期要求,那如何来解决这种问题呢?最后想到问题应该出在如下两个地方:

      1、我使用Lombok,可能出现在此处

      2、是否因为Bean的属性设置问题原因 

     经过网上查询相关资料,问题就出在Bean的定义属性。参数命名不规范原来的 POJO 的参数有【uCode】,这种命名而且 pojo 是 lombok 注解管理的 导致 jackson 自动转换成小写了。

3、解决方案

      在 pojo 加上 @JsonAutoDetect (fieldVisibility= JsonAutoDetect.Visibility.ANY,getterVisibility= JsonAutoDetect.Visibility.NONE)

     注解解释:     

        @JsonAutoDetect 该注解用来 改变默认的自动检测,标记在类上

        jackson默认大小写敏感,且首字母转小写 用来指定字段、方法的可见性规则          @JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY,getterVisibility=JsonAutoDetect.Visibility.NONE)       

4、成果展现

       经过上面的注解的加入之后,达到了预期的效果。

5、总结

      凡是遇见的问题,一般其他人应该也遇见过,需要自己思考搜索相关的关键字才能找到对应的解决方案,所以解决问题需要抓住问题的关键本质。如此问题需要搜索关键词  jackson 转 jsonjackson 转 json jackson 转 json参数大小写问题  返回字段大小写 不一致参数大小写问题

6、参考文章

       https://my.oschina.net/u/4540973/blog/4657027

      https://www.likecs.com/show-933963.html 

     https://blog.csdn.net/weixin_45502734/article/details/124306296

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/402583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据表(三) - 多语言的实现

前文介绍了关于数据表的几种形式,以及如何让数据表运用更加简单高效,这篇我们来讲讲多语言在数据表中的实现方式。游戏项目中文字显示本身就是件比较头疼的事,再加上多语言,更多的问题将待需解决。很多时候项目起初,文…

Golang-GMP模型

写在前面 Go 为了自身 goroutine 执行和调度的效率,自身在 runtime 中实现了一套 goroutine 的调度器,下面通过一段简单的代码展示一下 Go 应用程序在运行时的 goroutine,方便大家更好的理解。 The Go scheduler is part of the Go runtime,…

华为机试题:HJ92 在字符串中找出连续最长的数字串(python)

文章目录(1)题目描述(2)Python3实现(3)知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…

C++语法规则2(C++面向对象)

继承 面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。 当创建一个类时,您不需要重新编写新的数据成员和成…

SpringBoot修改启动图标(详细步骤)

目录 一、介绍 二、操作步骤 三、介绍Java学习(题外话) 四、关于基础知识 一、介绍 修改图标就是在资源加载目录(resources)下放一个banner.txt文件。这样运行加载的时候就会扫描到这个文件,然后启动的时候就会显…

vue -- 自定义指令钩子函数补充 自定义过滤器filter参数

自定义指令补充 自定义指令通过钩子函数的形式来实现自定义的功能 这里是几个常用的钩子函数以及它的方法: bind:只调用一次,指令第一次绑定到元素时调用,在这里可以进行一次性的初始化设置。 inserted:被绑定元素插…

Docker Nginx 反向代理

最近在系统性梳理网关的知识,其中网关的的功能有一个是代理,正好咱们常用的Nginx也具备次功能,今天正好使用Nginx实现一下反向代理,与后面网关的代理做一个对比,因为我使用的docker安装的Nginx,与直接部署N…

web worker的基本使用案例

文件目录如下 代码按照顺序分别如下 webworker.html <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewpo…

C语言函数: 字符串函数及模拟实现strtok()、strstr()、strerror()

C语言函数&#xff1a; 字符串函数及模拟实现strtok()、strstr()、strerror() strstr()函数: 作用&#xff1a;字符串查找。在一串字符串中&#xff0c;查找另一串字符串是否存在。 形参: str2在str1中寻找。返回值是char*的指针 原理&#xff1a;如果在str1中找到了str2&…

为什么这几年参加PMP考试的人越来越多?

PMP认证从国外引进大陆这么多年了&#xff0c;其火热程度依然不减&#xff0c;我个人认为是取决于市场的运作和“游戏规则”&#xff08;岗位招聘和项目招标需要&#xff09;。PMP含金量不算高&#xff0c;更多的是“敲门砖”作用&#xff0c;项目管理岗位的门槛&#xff0c;当…

MySQL日志审计和分析

审核数据库活动是加强数据库安全性的重要组成部分。这涉及识别漏洞&#xff0c;例如默认或弱登录凭据、过多的用户和组权限以及未修补的数据库。攻击者利用这些漏洞来实现自己的目标&#xff0c;如权限提升、SQL 注入和 DoS 攻击。因此&#xff0c;出于安全性和合规性原因&…

源码分析spring如和对@Component注解进行BeanDefinition注册的

Spring ioc主要职责为依赖进行处理&#xff08;依赖注入、依赖查找&#xff09;、容器以及托管的(java bean、资源配置、事件)资源声明周期管理&#xff1b;在ioc容器启动对元信息进行读取&#xff08;比如xml bean注解等&#xff09;、事件管理、国际化等处理&#xff1b;首先…

SPI读写SD卡速度有多快?

SD卡是一个嵌入式中非常常用的外设&#xff0c;可以用于存储一些大容量的数据。但用单片机读写SD卡速度一般都有限&#xff08;对于高速SD卡&#xff0c;主要是受限于单片机本身的接口速度&#xff09;&#xff0c;在高速、实时数据存储时可能会有影响。但具体速度可以达到多少…

Spark RDD的设计与运行原理

一、Spark RDD概念 一个RDD就是一个分布式对象集合&#xff0c;本质上是一个只读的分区记录集合&#xff0c;每个RDD可以分成多个分区&#xff0c;每个分区就是一个数据集片段&#xff0c;并且一个RDD的不同分区可以被保存到集群中不同的节点上&#xff0c;从而可以在集群中的…

Could not resolve dependencies for project

maven 打包Could not resolve dependencies for project和无效的目标发行版: 1.8 1.maven 打包Could not resolve dependencies for project 最近项目上使用的是idea ide的多模块话&#xff0c;需要模块之间的依赖&#xff0c;比如说系统管理模块依赖授权模块进行认证和授权&a…

聊聊关于分类和分割的损失函数:nn.CrossEntropyLoss()

目录 1. nn.CrossEntropyLoss() 2. 多分类中 nn.CrossEntropyLoss() 的应用 3. 分割中 nn.CrossEntropyLoss() 的应用 3.1 测试文件 3.2 输出可视化 3.3 softmax 3.4 log 3.5 CrossEntropyLoss 1. nn.CrossEntropyLoss() 分类中&#xff0c;经常用 nn.CrossEntropyL…

.NET Core Api使用Folder(文件夹)形式发布并指定监听端口

分为以下几个步骤 1. 先安装SDK及运行环境, 无需安装IIS, 因为他不在IIS上运行 环境下载路径, 我用的是.NET 7.0, 可以根据自己的版本下载: 下载 .NET 7.0 SDK (v7.0.201) - Windows x64 Installer 下载.NET运行环境 下载后安装.直接下一步..安装即可 2. 配置发布设置 (…

Nginx服务优化与防盗链

目录 1.隐藏nginx版本号 1.查看版本号 2.隐藏版本信息 2.修改用户与组 3.缓存时间 4.日志分割 5.连接超时 6.更改进程数 7.网页压缩 8.配置防盗链 1.配置web源主机&#xff08;192.168.156.10 www.lhf.com&#xff09; 2.配置域名映射关系 3.配置盗链主机 &#xff0…

python实现波士顿房价预测---(2)

计算梯度 继续上一篇的内容python实现波士顿房价预测—(1)。 梯度计算公式中引入计算因子12\frac{1}{2}21​&#xff0c;为了计算更加简洁。 L12N∑i1N(yi−zi)2L\frac{1}{2N}\sum_{i1}^{N}(y_i - z_i)^2L2N1​∑i1N​(yi​−zi​)2 其中ziz_izi​是模型对于第i个样本的预测值…

【halcon】轮廓拟合相关函数

涉及函数 edges_sub_pix 寻找边缘 edges_sub_pix (Image, Edges, canny, 1, 10, 20) 后面三个参数&#xff0c;越小&#xff0c;找到的细节越多。这个是对应录波器为canny时。 canny滤波器用的最多。 segment_contours_xld 将连续的轮廓进行分段&#xff0c;按圆弧或者执…