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

关于解决新版本spring项目请求测试接口返回406的问题

目录

一、问题产生

二、问题排查

(1)首先是打断点debug进行排查

(2)网上查找相关资料排查

(3)老项目测试

三、问题解决


一、问题产生

使用Apifox对后端发送请求进行接口测试时返回状态码406,查看后端日志

2025-03-15T19:56:40.747+08:00  WARN 18108 --- [management_system] [nio-8080-exec-4] .w.s.m.s.DefaultHandlerExceptionResolver:Resolved[org.springframework.web.HttpMediaTypeNotAcceptableException: No acceptable representation]

       这个问题导致前端并未获得后端应该返回的数据,所以我搜索了一些相关资料,并开始进行问题原因排查。

二、问题排查

(1)首先是打断点debug进行排查

       从上面可以看到,我们的deptList是有数据的,说明service层和dao层的执行逻辑应该没有太大问题。

       接着我在result包装类中打了断点,想看看depList时候被赋值到了data属性中,从图中可以看到size=6,是拿到了数据的

       接着步过的时候进入了字节码文件,虽然我到这看不太懂了,但是我看到了getBean,那可能和对象的管理有关系。(后续步入的话就是更深的源码,就不演示了)

(2)网上查找相关资料排查

       接着我在网上搜索了springboot项目中406的相关解决办法,然后我挨个进行了尝试,首先是请求头的Accept配置,网上说没有配置json格式数据就会出现问题,我查看了我的配置,发现我这边默认就是都能接收的,所以不是这个问题

       然后还有一种说法是没有给包装类配置getter 和setter注解,我这边是导入了lombok依赖的,写了@Data注解,所以这个因素也排除掉。

然后我尝试了不使用包装类,直接将返回值改为null,我发现是正常的,没有出现问题。

到这里我判断是包装类里面出现了相应的问题。

(3)老项目测试

        我打开了之前已经完成了的springboot项目,我开始测试接口,发现并没有出现什么问题,并对照了相应的代码部分编写,没有本质区别。这里的话,我想到了,是不是spring版本更新升级,导致了老方法,老配置不行?

三、问题解决

       在查阅资料和spring官方文档后,我发现Spring官方进行了升级, 在创建项目时添加lombok依赖的话, 会自动引入一个插件(之前没有, 新增的), 把这个插件删了就可以了。不然的话@Data没有生效,包装类那里就会出现问题。然后,刷新maven, clean, compile,就可以了。

最后进行接口测试发现能够正常的返回数据了

以上就是我解决请求406状态码的步骤和思路,希望对你有所帮助!可以的话给个点赞收藏吧!

相关文章:

  • 当AI学会“察言观色“:多模态情绪识别的魔幻现实主义之旅
  • BGP路由属性和选路
  • 左叶子之和 找左下角的值 路径总和
  • Ollama+OpenWebUI本地部署大模型
  • 2025-03-15 Python深度学习2——Numpy库
  • 深入理解 Xtensa 架构 ESP32 内存架构(SRAM、IRAM、IROM、DRAM、DROM详解)
  • Anaconda 入门指南
  • 每日一题---
  • 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-4 uboot目录分析
  • 高频面试题(含笔试高频算法整理)基本总结回顾46
  • 【C/C++算法】从浅到深学习--- 前缀和算法(图文兼备 + 源码详解)
  • 2. qt写带有槽的登录界面(c++)
  • 【bug日记】 编译错误
  • pytest快速入门 - 目录:半天掌握pytest
  • 【idea代码ai插件】利用接入硅基流动的deepseekR1的api在idea里实现问答,辅助写代码
  • Python Cookbook-4.4 循环访问序列中的元素和索引
  • 数据分布偏移检测:保障模型在生产环境中的稳定性
  • Debain-12.9使用xinference部署音频模型/audio
  • 非模态对话框
  • Linux内核IPoIB驱动中的RSS队列选择机制分析
  • 一周文化讲座|那些年的年青人
  • 格桑花盛放上海,萨迦艺术团襄阳公园跳起藏族舞
  • 韩国法院将重审李在明案,韩德洙入局能否为大选带来变数?
  • 空调+零食助顶级赛马备战,上海环球马术冠军赛将焕新登场
  • 工行一季度净赚841亿元降3.99%,营收降3.22%
  • 被算法重塑的世界,人与技术如何和谐共处