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

参数传了报错没传参数识别不到参数传丢

【记一次参数传值了但报错未传值的问题解决历程】
问题描述:同一个接口,用测试类调可以成功,用postman调用一直报错少参数,后又尝试了用idea自带的http调用,同样报错参数未传值。
在这里插入图片描述
如图,传值了报错未传值。

Controller层及DTO写法如下图:
在这里插入图片描述
在这里插入图片描述

解决历程

1.用postman调用一直报错参数未传值,但用测试类调可以成功,怀疑是postman的问题。后又尝试了用idea自带的http调用,结果同样,故排除postman的问题。

接口入口处打了断点,但请求参数校验处就已经失败了,没进入到接口内部。

2.怀疑是因为入参通过注解@Valid + @NotBlank 做了非空校验,注解校验错误,传值校验成未传值了。故去掉@Valid再次请求接口

在这里插入图片描述
如图,很明显,打印的参数少了!所以怀疑是参数传丢了!怎么传丢呢,必然是http传输的过程中丢的,怀疑是参数名没解析。

3.更换参数名如下图,再试,成功。

在这里插入图片描述
特殊参数名未解析到,不愿更换参数名可通过加注解@JSONField或@JsonProperty强制映射。

@JSONField注解是阿里巴巴的fastjson框架中的注解,用于指定JSON字符串中的属性名和Java对象中的属性名之间的映射关系

@JsonProperty注解是Jackson框架中的注解,用法类似于@JSONField,也是指定JSON字符串中的属性名和Java对象中的属性名之间的映射关系

4.@JSONField注解

在这里插入图片描述
在这里插入图片描述

5.@JsonProperty注解

在这里插入图片描述
在这里插入图片描述

6.@JSONField和@JsonProperty注解的其他用法可参考

https://www.jb51.net/program/3223658h7.htm


http://www.kler.cn/a/303090.html

相关文章:

  • Fastapi使用MongoDB作为数据库
  • Android音频架构
  • FatLab:我的编程课程系列
  • 【初阶数据结构与算法】链表刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构
  • 【pytorch】常用强化学习算法实现(持续更新)
  • 24/11/13 算法笔记<强化学习> DQN算法
  • ‌汽车的舒适进入功能是什么意思?
  • 【区块链 + 人才服务】Blockchain Workshop- 区块链编程实践平台 | FISCO BCOS应用案例
  • Maven从入门到精通(二)
  • 设计模式-行为型模式-备忘录模式
  • 关于.net Framework向.net core的移植
  • HarmonyOS SDK开放能力简介
  • 基于学习功能聚合的英语口语学习APP
  • flink实战--如何基于java-agent技术上线收集任务流量功能
  • 向量——通俗地解释
  • 网络编程(UDP)
  • 详解贪心算法
  • STM32 如何生成随机数
  • CentOS 7下CX5-RDMA网络测试
  • 6年前倒闭的机器人独角兽,再次杀入AGV市场
  • Vue3+TS项目封装一个公共的el-table组件二次封装
  • ADB 之 logcat 极简小抄(过滤日志、保存日志到文件)
  • C++复习day11
  • 基于人工智能的自动驾驶系统项目教学指南
  • 【C++】STL容器-string的遍历
  • Android10源码刷入Pixel2以及整合GMS