Jackson和fastjson解决序列化时字段属性大小写改变的问题

news2024/10/7 5:49:34

在部分特殊场景下,我们可能会把实体的字段属性改成全部大写,但是在返回前端时,字段会被序列化成小写
比如我们有一个这个类属性都是大写:
在这里插入图片描述

后端接口是这样的
在这里插入图片描述
然后我们请求后,会发现我们的字段被变成全部小写的。
在这里插入图片描述
这个就可能会导致前端字段和后端字段大小写不一致的问题。
因此为了规避这个问题我们可以改变序列化规则。
spring默认使用的是jackson,我们就先说jackson 的解决方法。

Jackson

方法一,我们可以使用@JsonProperty

在这里插入图片描述
在这里插入图片描述
方法二:

我们可以重写jackson消息转换器中的序列化策略

package com.hosptial.config;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;

@Configuration
public class JsonConfig {

    @Bean
    public HttpMessageConverters jacksonHttpMessageConverters() {
        // 创建Jackson消息转换器
        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();

        // 创建Jackson配置对象
        ObjectMapper objectMapper = new ObjectMapper();

        // 设置序列化规则
//        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        objectMapper.setPropertyNamingStrategy(new CustomPropertyStrategy());
        // 设置Jackson配置
        converter.setObjectMapper(objectMapper);

        // 返回HttpMessageConverters对象
        return new HttpMessageConverters(converter);
    }
}

package com.hosptial.config;

import com.fasterxml.jackson.databind.PropertyNamingStrategy;

import java.util.Locale;

public class CustomPropertyStrategy extends PropertyNamingStrategy.PropertyNamingStrategyBase {

    public String translate(String input) {
        return input.toUpperCase(Locale.ROOT);
    }
}

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

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

相关文章

Baidu Comate最详细教程(含license码)!扫二维码即可得文心4.0 VIP90天免费使用

Baidu Comate最详细教程(含license码)!扫二维码即可得文心4.0 VIP90天免费使用 安装 方法一:点击链接 comate安装链接 方法二:扫描图片二维码 支持所有常见IDE,包括VSCode、JetBrains系列(包含…

【课程作业】嵌入式系统与设计上机作业(作业九十)

个人名片: 🎓作者简介:嵌入式领域优质创作者🌐个人主页:妄北y 📞个人QQ:2061314755 💌个人邮箱:[mailto:2061314755qq.com] 📱个人微信:Vir2025WB…

Qt实战项目——贪吃蛇

一、项目介绍 本项目是一个使用Qt框架开发的经典贪吃蛇游戏,旨在通过简单易懂的游戏机制和精美的用户界面,为玩家提供娱乐和编程学习的机会。 二、主要功能 2.1 游戏界面 游戏主要是由三个界面构成,分别是游戏大厅、难度选择和游戏内界面&a…

three.js 第六节 - 纹理以及贴图【.hdr文件(hdr贴图)】- 色彩空间

素材 这是素材 更多素材、案例、项目 好几个G一共,加我q178373168,60大洋拿走 源码 源码 // ts-nocheck // 引入three.js import * as THREE from three // 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls…

渗透测试工程师常见面试33题

问1:关于sql注入,都分为那些? 答1:主要分为两个大类,有回显和无回显。其中无回显的称为盲注,包括时间盲注、DNSlog注入也算一种,布尔盲注;有回显的包括联合注入、报错注入、宽字节注…

存储故障导致的Oracle 19c 数据库集群无法启动案例分析

背景 在某周末11点多,突然收到批量数据库宕机告警信息,同时收到多个微信群数据库无法连接、访问报错的反馈,顿时感觉这是出大事了。 故障分析 登录环境后,查看数据库alert日志,日志中出现数据库不可用信息&#xff…

python-登录界面-demo

文章目录 前言python-登录界面-demo 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!! python-…

免费分享:中国1:250万地质图(附下载方法)

中国1:250万地质图反映了中国区域地质构造面貌和基本特征,表示了中国区域地质的特色,地质编图的标准化程度较高,地质图的编制过程中充分采用了信息技术,反映了地质调查与科研的若干新进展与认识。 数据简介 本数据为空…

Firefox 编译指南2024 Windows10篇- 源码获取(二)

1. 引言 在成功准备了编译环境之后,下一步就是获取Firefox的源码。源码是编译任何软件的基础,对于开源项目如Firefox尤其重要。通过获取并理解源码,开发者不仅能够编译出自定义版本的Firefox,还能对其进行修改和优化,…

坚持100天学习打卡Day1

1.大小端 2.引用的本质 及 深拷贝与浅拷贝 3.初始化列表方式 4.类对象作为类成员 5.静态成员 static

中国杀出全球首个烹饪大模型

什么?烹饪也有大模型?! 没有听错,这就是国产厨电龙头老板电器最新发布——“食神”大模型。 数十亿级行业数据,数千万级知识图谱加持,据称还是全球首个。 它能为每个人提供个性化量身定制的解决方案&…

Pixel手机中文网-全球最大的华人Pixel手机论坛

Pixel手机中文网,使用Pixel手机华人的聚集地,快来加入这个大家庭分享和创作吧 😃 googlepixel.cn

信息系统安全风险评估,让风险看得见!

信息安全风险管理依据等级保护的思想和适度安全的原则,平衡成本与效益,合理部署和利用信息安全的信任体系、监控体系和应急处理等重要的基础设施,确定合适的安全措施,从而确保机构具有完成其使命的信息安全保障能力。亿林依据《国…

武汉星起航:国家政策助力亚马逊电商平台蓬勃发展

在全球化浪潮和数字经济快速发展的双重推动下,跨境电商已成为推动国际贸易增长的新引擎。武汉星起航持续关注到,亚马逊电商平台作为其中的佼佼者,在享受国家政策红利的同时,也展现出了强大的发展活力和市场潜力。 近年来&#xf…

JavaScript的学习之文档的加载

目录 一、onload的运用 浏览器在加载一个页面时,是按照自上而下的顺序加载的,读取到一行就执行一行, 如果script标签写到页面的上方,在代码执行时,页面还没有加载,所以要将JS代码写道页面下面 一、onload的…

代码随想录第35天|动态规划

理论基础 动态规划是由前一个状态推导出来的, 而贪心是局部直接选取最优 五部曲: 确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组 debug过程 : dp数组打印查看 509. 斐波那契数 参考 //动态规划的方法 …

科普:什么是 BC-404 ?全方位解读最新通缩型 NFT 标准

区块链技术飞速发展的今天,创新从未停歇。继 ERC-404 标准问世后,一个名为 BC-404 的新标准应运而生,为 NFT 市场带来了全新的可能性。BC-404(Bonding Curve 404)—基于对 ERC-404 的改进,加密货币中第一个…

【大模型】大模型微调方法总结(二)

1.Adapter Tuning 1.背景 2019年谷歌的研究人员首次在论文《Parameter-Efficient Transfer Learning for NLP》提出针对 BERT 的 PEFT微调方式,拉开了 PEFT 研究的序幕。他们指出,在面对特定的下游任务时,如果进行 Full-Fintuning&#xff0…

基于Simulink的行波故障测距

基于MATLAB/SIMULINK的输电线路故障行波仿真方法 为了更深入地学习和研究输电线路故障行波,通过matlab将复杂的电力系统简化为一个等效电路模型,使得故障的仿真和行波的提取更加直观和方便。首先,我们根据电力系统的实际情况,建立…

政务网站(.gov)应选择什么样的SSL证书

政府网站作为公共服务的重要平台,承载着发布政策信息、提供在线服务、促进政民互动等功能,其数据安全性和网站可信度尤为重要。因此,选择合适的SSL证书对于政府网站而言,不仅是遵循网络安全法规的需要,也是提升公众信任…