当前位置: 首页 > news >正文

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

问题:解决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.lryc.cn/news/118520.html

相关文章:

  • 架构训练营学习笔记:6-2 微服务基础选型
  • opencv实战项目 实现手势跟踪并返回位置信息(封装调用)
  • ElementUI动态添加表单项
  • Myatis和MybatisPlus常见分页方式
  • 利用ChatGPT绘制思维导图——以新能源汽车竞品分析报告为例
  • redis集群搭建(非常详细,适合新手)
  • CTFshow web93-104关
  • ElasticSearch详细操作
  • 【OpenVINOSharp】 基于C#和OpenVINO2023.0部署Yolov8全系列模型
  • 121. 买卖股票的最佳时机
  • FDO(Feedback-Driven Optimization) LTO(Link-Time Optimization)
  • 低成本无刷高速吹风机单片机方案
  • 使用Python爬取某查查APP端(Appium自动化篇)
  • vue3实现组件可拖拽 vuedraggable
  • gradio常用组件
  • vcode开发go
  • 聊城大学823软件工程考研
  • Spring Initailizr--快速入门--SpringBoot的选择
  • 大数据课程I1——Kafka的概述
  • 视图簇 se54 sm34 se54
  • 风丘科技将亮相 EVM ASIA 2023
  • 腾讯云服务器S6、SA3、S5、SA2等CVM实例介绍
  • 使用kickstart和anaconda自动化安装centos系统
  • Delphi7通过VB6之COM对象调用PowerBASIC写的DLL功能
  • 中电金信:ChatGPT一夜爆火,知识图谱何以应战?
  • 单细胞分类和预测任务
  • 那些年的Webview开发经验记录
  • ssh-keygen详解
  • 自动方向识别式 LSF型电平转换芯片
  • 轻量的工作流引擎:告别低效,创造新高!