springboot项目get请求下划线转驼峰@JsonProperty注解失效问题

news2024/11/27 9:51:47

问题:解决sprigboot项目get请求中有下划线的入参参数,如:first_name,希望在项目中将下划线格式转成firstName,用@JsonProperty注解发现失效问题

1.核查:@JsonProperty注解对应包是否正确

正确包:import com.fasterxml.jackson.annotation.JsonProperty;

如果使用jar正确,还是无效,往下看

2.在实体类中重写参数的set方法

例子:

实体类:

package com.iterge.lph_test.entity;

import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

/**
 * Create by LPH 2021/8/3
 */
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserReq {
    Long id;
    String name;
    String firstName;
}

Controller:

package com.iterge.lph_test.controller;

import com.iterge.lph_test.entity.UserReq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author liuph
 * @date 2023/8/10 15:01:30
 */

@RestController
@RequestMapping("/test")
@Slf4j
public class ParamController {

    @GetMapping("/param/test")
    public String params(UserReq req){
        log.info("入参数:{}",req);
        return req.toString();
    }

}

结果:

修改后:

实体类:

package com.iterge.lph_test.entity;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

/**
 * Create by LiuPH 2021/8/3
 */
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserReq {
    Long id;
    String name;
    @JsonProperty("first_name")
    String firstName;

    public void setFirst_name(String name){
        this.firstName = name;
    }
}

 运行结果:

 over~

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

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

相关文章

2023CNSS——WEB题解(持续更新)

[Baby] SignIn 进来看到 按钮点击不了,想到去修改代码,要“检查“,但这里的右键和F12都不可用 还好还有其他方法 检查的各种方法 选用一种后进入检查页面 删掉这里的disabled即可 点击后得到flag [Baby] Backdoor 进入&#xff0c…

2023河南萌新联赛第(五)场 K.01BFS

文章目录 传送门题目大意题解参考代码 传送门 https://ac.nowcoder.com/acm/contest/62977/K 题目大意 给定一个 n m n \times m nm 的矩阵 G G G ,每个点有权值 G i , j G_{i,j} Gi,j​,开始可以选择一个方向跳,每次跳跃只能跳到严格…

ECharts 折线图使用相关

一、折线图堆叠设置为不堆叠的方法 官网是这样的,但是不需要这种堆叠形式的如下图: 即:第2条数据值 第1条数据值 第2条数据值 第3条数据值 第2条数据值 第3条数据值 需要改成实际值展示,如下图: 只需要修改stack的…

湖南麒麟系统非正常关机导致VNC启动失败原因分析

1、故障描述 掉电后,启动vncserver无法启动,或启动后连接vncserver黑屏 2、影响范围 非正常关机流程的机器 3、故障处理过程 第一次开机后vncserver服务无法正常启动,使用restart手动也无法拉起。按照现场人员提醒使用reboot命令重启机器…

递归神经网络简介

一、说明 说起递归神经网络,递归神经网络(RNN)主要包括以下几种类型: 简单的RNN(Simple RNN):最基本的RNN类型,每个时刻的输出都与前面时刻的状态有关。 循环神经网络(R…

软件第三方CMA、CNAS测试的目的和意义,信息化建设验收测试依据是什么?

在当今互联网时代,软件的第三方CMA、CNAS测试成为了软件行业的重要环节。那么,这个测试的目的和意义是什么呢?另外,信息化建设验收测试依据又是什么呢?    一、软件测试第三方CMA、CNAS测试的目的和意义 1、研究进展 随着软件行业的迅…

低成本无刷高速吹风机单片机方案

高速吹风机的转速一般是普通吹风机的5倍左右。一般来说,吹风机的电机转速一般为2-3万转/分钟,而高速吹风机的电机转速一般为10万转/分钟左右。高转速增加了高风速。一般来说,吹风机的风力只有12-17米/秒,而高速吹风机的风力可以达…

信号浪涌保护器的综合应用方案

信号浪涌保护器是一种用于保护电子设备免受信号线路上的瞬态过电压和浪涌电流的影响的装置。信号浪涌保护器的原理是利用气体放电管、压敏电阻、齐纳二极管等元件,将信号线路上的过高电压限制在一定范围内,或将浪涌电流分流到地线上,从而减少…

gradio解决上传文件数最大为1000的限制

当使用上传文件夹功能传输超过1000个文件时,会报出以下错误: 在github上,最新版的gradio仓库已经解决了这一问题: 但是这一更改还没有正式发布,因此无法使用pip更新: 因此只能先手动git clone https://g…

webstorm debug调试vue项目

1.运行npm,然后控制台会打印下图中的地址,复制local的地址 2.run–>Edit Configuration,如下图 3.设置测试项 4.在你需要的js段打好断点 5.在上边框的工具栏里面有debug运行,点击debug运行的图标运行即可

vue新学习 05vue的创建运行原理(vue的生命周期)

01.vue的创建过程 原理解释: 1.定义: 1.Vue的生命周期是指Vue实例从创建到销毁的整个过程中经历的一系列阶段,Vue在关键时刻帮我们调用的一些特殊名称的函数。 2.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求…

星戈瑞NH2-PEG-ICG应用纳米荧光成像

欢迎来到星戈瑞荧光stargraydye! NH2-PEG-ICG是一种具有胺基的聚乙二醇修饰的吲哚菁绿染料,常用于纳米荧光成像应用。以下是NH2-PEG-ICG在纳米荧光成像应用中的一些特点和优势: **1. 荧光性能:**NH2-PEG-ICG在近红外光谱区域(约7…

电商数据API接口有什么作用和意义,让我们来了解一下吧!

在现代互联网时代,电子商务已经成为了经济发展的重要推动力之一。越来越多的企业和个人开始通过电商平台进行商品销售,而准确的数据分析和及时的数据更新成为了他们的关键需求。而电商数据API接口,作为电商平台和第三方开发者之间的桥梁&…

星河双子塔对面万科星火城市更新规划出炉

龙岗区坂田街道欧威尔空调厂城市更新单元“工业上楼”项目规划(草案)已经龙岗区“工业上楼”项目工作专班2023年第四次审批会议审议通过。根据《中华人民共和国城乡规划法》《深圳经济特区城市更新条例》《深圳市城市更新办法实施细则》《深圳市“工业上…

手动创建一个DOCKER镜像

1. 我们先使用C语言写一个hello-world程序 vim hello.c # include <stdio.h>int main() {print("hello docker\n"); } 2. 将hello.c文件编译成二进制文件, 需要安装工具 yum install gcc yum install glibc-static 开始编译 gcc -static hello.c -o hello 编译…

600V EasyPIM™ IGBT模块FB30R06W1E3、FB20R06W1E3B11、FB20R06W1E3降低了系统成本和损耗,可满足高能效要求。

EasyPIM™ IGBT模块是一种三相输入整流器PIM IGBT模块&#xff0c;采用TRENCHSTOP™ IGBT7、发射器控制7二极管和NTC/PressFIT技术。该模块具有增强的dv/dt可控性、改进的FWD软度、优化的开关损耗以及8μs短路稳定性。EasyPIM&#xff08;功率集成模块&#xff09;外形非常小巧…

python工具库有哪些,python工具包怎么用

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;python工具包有哪些&#xff0c;python工具包怎么用&#xff0c;现在让我们一起来看看吧&#xff01; 最近有多位读者留言&#xff0c;咨询更便捷、高效的python编程开发工具&#xff08;IDE&#xff09;&#xff0c;本…

词性标记:隐马尔可夫模型简介(1/2)

一、说明 作为人类&#xff0c;我们比这个星球上的任何动物都更了解自然语言的许多细微差别。比如说&#xff1a;“你吃了吗”&#xff0c;“企业吃不饱”&#xff0c;“吃豆腐”&#xff0c;“吃醋了”&#xff1b;同样一个“吃”&#xff0c;意义不同&#xff0c;从一个符号出…

tsmc12 加tap cell/boundary cell失败原因总结

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?拾陆楼知识星球入口 via0_grid tsmc12有via0的概念,boundary cell不需要对齐via0,但tap cell的pg pin是有via0这一层的,所以当tap cell添加失败,首先需要检查的就是via0_grid是否创建成功,offset能否对齐via0。 …

【低代码预研】通过低代码平台开发应用程序

目录 低代码介绍 预研目标 预研产品 1. 业务流程 2. 用户权限 3. 统计图表 4. 大屏设计 5. 第三方登录 6. 分布式调度 小结 近几年&#xff0c;一直对低代码平台有所耳闻&#xff0c;目前已经对低代码平台有了一定的认识&#xff0c;如果能通过一个可视化的配置页面就能完成前端…