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

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

后端接口是这样的
在这里插入图片描述
然后我们请求后,会发现我们的字段被变成全部小写的。
在这里插入图片描述
这个就可能会导致前端字段和后端字段大小写不一致的问题。
因此为了规避这个问题我们可以改变序列化规则。
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 {@Beanpublic 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.mzph.cn/news/860984.shtml

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

相关文章

CCAA:认证通用基础 7(认证的基本概念)

7认证的基本概念 7.1认证类型(产品认证、管理体系认证、服务认证)及基本特征 第一节 认证 1.认证的定义和本质 1.1认证的定义 (1)认证:与产品、过程、体系或人员有关的第三方证明。 ①”产品,过程,体系或人员”是认证的对象,认证是对“产…

软考中级:信息系统管理工程师备考资源

信息系统管理工程师备考资源 1 备考资源内容2 使用心得3 资源地址 1 备考资源内容 资源内容包含三部分:教程书籍pdf、备考笔记、历年真题 可以结合“软考通”APP进行练习备考,无偿分享。 2 使用心得 上面的资源很多,可以先从复习笔记开…

如何提高工业交换机的电源功耗?

工业交换机的电源功耗是指在工作状态下所消耗的能量。随着工业自动化技术的发展,工业交换机在生产和制造领域中扮演着至关重要的角色。它们通过连接各种设备和系统,实现信息的传输和处理,提高生产效率和质量。然而,工业交换机的大…

高质量3d建模素材网站推荐,建议收藏!

很多设计师、建模师想要制作出高质量的3D模型,除了扎实的技巧和丰富的经验外,还需要大量的高质量素材。那么到哪里去找高质量3d建模素材网站呢?本文将给大家推荐一些,建议收藏! 1、建e网:建e网是一个专注于为建筑、室内、景观设计…

郑州大学人工智能简答

第一章 1. 什么是人工智能? 人工智能又称机器智能,主要研究人工的方法和技术开发智能机器或智能系统,以模仿、延伸和扩展人的智能、生物智能、自然智能,实现机器的智能行为。 人工智能的定义分四类: (1&am…

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

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

【ai】trition:tritonclient yolov4:ubuntu18.04部署python client成功

X:\05_trition_yolov4_clients\01-python server代码在115上,client本想在windows上, 【ai】trition:tritonclient.utils.shared_memory 仅支持linux 看起来要分离。 【ai】tx2 nx:ubuntu18.04 yolov4-triton-tensorrt 成功部署server 运行 client代码远程部署在ubuntu18.0…

微服务架构设计关键点总结

1.微服务架构设计通用语言 2.微服务架构组成 NFRS(非功能性需求)补充 3.DDD 省略 4.其他 Backend for frontend (BFF) pattern: 针对不同的客户端定义不同的api gateway API组合模式:一次性返回关联后的结果 eg:ap…

优思学院|精益生产3大特征、5个步骤、8大浪费、10大工具

前言 精益生产作为一种先进的生产管理理念,起源于丰田汽车公司的生产方式,其核心在于消除浪费、优化流程,以最少的投入获取最大的产出。本文将详细解析精益生产的三大特征、五个步骤、八大浪费和十大工具,帮助读者深入理解这一理…

威纶通模板元件功能使用,重复调用模板界面

目录 STEP 1 定义模板范围STEP 2 创建地址STEP 3 新建模板STEP 4 调用模板STEP 5 仿真测试 STEP 1 定义模板范围 选择元件-模板窗口 定义模板窗口范围 这是将窗口20-30定义为模板窗口 STEP 2 创建地址 定义几个标签地址,这里关联的内部地址 如果使用外部PLC地址…

【知识学习】Unity3D——Surface Shaderlightning的概念及使用方法示例

Unity3D是一个广泛使用的跨平台游戏引擎,它提供了强大的图形渲染功能。在Unity中,Shader是用于控制图形渲染过程的程序,它们运行在GPU上,用于计算屏幕上每个像素的颜色。Surface Shader和Lighting是Unity Shader编程中非常重要的概…

Apache HBase概述(图文并茂~)

HBase概述 1. Why we need HBase ? 在大数据时代来临之前,我们通常依赖传统的关系型数据库(如RDBMS)来处理数据存储和管理。然而,随着数据量的急剧增长和数据结构的多样化,传统数据库系统开始显露出其局限性…

深入探讨极限编程(XP):技术实践与频繁发布的艺术

目录 前言1. 极限编程的核心原则1.1 沟通1.2 简单1.3 反馈1.4 勇气1.5 尊重 2. 关键实践2.1 结对编程2.1.1 提高代码质量2.1.2 促进知识共享2.1.3 增强团队协作 2.2 测试驱动开发(TDD)2.2.1 提升代码可靠性2.2.2 提高代码可维护性2.2.3 鼓励良好设计 2.3…

RabbitMQ实践——临时队列

临时队列是一种自动删除队列。当这个队列被创建后,如果没有消费者监听,则会一直存在,还可以不断向其发布消息。但是一旦的消费者开始监听,然后断开监听后,它就会被自动删除。 新建自动删除队列 我们创建一个名字叫qu…

ee trade:黄金投资是选择短线交易还是长线投资

黄金投资既可以通过短线交易获取快速收益,也可以采取长线投资策略获得稳健回报。本文将详细比较这两种策略的特点和适用性,为新手投资者提供参考。 短线交易 短线交易指在较短的时间内多次买卖以获取利润,通常交易周期为数日到数周。以下是…

66Uptime – 网站服务器 Cronjob 监控工具 v35.0.0扩展中文版安装

66Uptime是一款自托管、易于使用、轻量级且高性能的网站服务器和Cronjob监控工具。以其丰富的功能和便捷的管理方式,为用户提供了全方位的网站服务器和Cronjob监控解决方案: 主要功能: 监控网站服务器和Cronjob的运行状态,确保它们…

开发RpcProvider的发布服务(NotifyService)

1.发布服务过程 目前完成了mprpc框架项目中的以上的功能。 作为rpcprovider的使用者,也就是rpc方法的发布方 main函数如下: 首先我们init调用框架的init,然后启动一个provider,然后向provider上注册服务对象方法,即us…

SV std::randomize使用技巧与指南

通过以下例子学习: 其它: 里面夹杂: if(en1) { ((a>b)&&(b>c) || (e>f)&&(j>k)); } else { }

AI对职场的整顿

普通人离AI还有几年缓冲区,但早点做准备总是好的 AI淘汰的始终是跟不上时代的人。 现在很多公司都有AI培训,不仅GPT,还有Midjourney、Stable DIffusion等一系列AI工具。 像我们公司虽然今年招的少,但也会对新招的应届生统一进行…

腾讯云 轻量应用服务器 部署私有化大模型

1. 进入控制台后,找到我们购买的服务器,然后点击登录 服务器 - 轻量云 - 控制台 (tencent.com) 2. 安装系统 面板输入 curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh 命令解释: 从F…