Failed to meta-introspect annotation interface org.springframework.web.bind.annotation.RequestBody:
今天遇到了调试了很久的bug,最后发现是个小问题,报异常如下:
Failed to meta-introspect annotation interface org.springframework.web.bind.annotation.RequestBody: java.lang.NullPointerException
log4j给出了空指针的提示,又观察到跟注解RequestBody有关,疑似josn转对象失败,造成空指针异常,但自己在代码块中打印出了转换对象的属性
然而在网页开发者工具中发现请求成功
在debug过程中发现,json转换的对象其实是成功的,空指针其实指的是服务接口
转而目标点从请求传送对象转到服务中来,应该是zookeeper和dubbo的问题,使用zookeeper的客户端连接后查看后发现,确实是缺少消费者(consumers)服务的注册,那么问题一定出现在消费者服务的逻辑中
缺少消费者服务的注册,反复观察代码逻辑没有任何问题,springmvc.xml中的配置也没有问题,经过仔细观察,最终发现是注解Refence引用的不对,应该引用的是dubbo的注解
错误代码
import jdk.nashorn.internal.ir.annotations.Reference;//引用错误,应该引用dubbo的Refence注解
...
@Reference //dubbo的注解,去zookeeper服务注册中心去查找CheckItemService这种接口的服务,封装到对象中
private CheckItemService checkItemService;
正确逻辑
import com.alibaba.dubbo.config.annotation.Reference;//正确引用
...
@Reference //dubbo的注解,去zookeeper服务注册中心去查找CheckItemService这种接口的服务,封装到对象中
private CheckItemService checkItemService;
再次进行发布(maven工程最好clean install一下)测试
测试成功,希望能帮助到问题和我一样的朋友,报错信息有点误导,需要自己经过调试发现问题,总结一下调试思路:
- 先看网页端的请求是否成功,用开发者工具,看前端控制台报错信息以及网络流,排除前端错误
- 再根据后台报错信息,通过debug调试定位信息,排除逻辑错误
- 检查配置文件信息,各种url、path等,尤其看spring是否开启包扫描
- 通过服务器的命令,排查服务是否进程出错,或者服务并没有注册上,通过工程全关闭,逐个开启观察的方式,定位出问题的模块
- 是否是同名类包引入错误(此步应该在编写逻辑的时候注意到)
Failed to meta-introspect annotation interface org.springframework.web.bind.annotation.RequestBody:相关推荐
- Java-API-Package:org.springframework.web.bind.annotation
ylbtech-Java-API-Package:org.springframework.web.bind.annotation 1.返回顶部 1. @NonNullApi @NonNullField ...
- swagger使用报错:No enum constant org.springframework.web.bind.annotation.RequestMethod.Get
参考:https://blog.csdn.net/qq_35623773/article/details/84898578 报错 No enum constant org.springframewor ...
- IDEA 程序包org.springframework.web.bind.annotation不存在
https://www.cnblogs.com/kylinyang/p/13121779.html
- org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert val
org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert val ...
- 报错,null [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException,Failed to con
问题: { "success": false, "code": "S0000", "error" ...
- Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException
废话不多说 上报错 Resolved [org.springframework.web.method.annotation. MethodArgumentTypeMismatchException: ...
- org.springframework.web.bind.MissingRequestHeaderException: Missing request header ‘token‘ for metho
org.springframework.web.bind.MissingRequestHeaderException: Missing request header 'token' for metho ...
- android studio 初始化必备控件 > Failed to notify project evaluation listener. > javax/xml/bind/annotation/
目录 android studio 初始化必备控件 > Failed to notify project evaluation listener. > javax/xml/bind/ann ...
- org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved
场景: spring项目中无法访问到对应controller,查看日志,没有报错,只有warnring: org.springframework.web.servlet.handler.Abstrac ...
最新文章
- 【Codeforces】808D Array Division(前后两部分和相等)
- 无人驾驶定位与贝叶斯滤波
- java提高篇之数组(2)
- ORACLE使用WITH AS和HINT MATERIALIZE优化SQL解决FILTER效率低下
- html的document操作
- 六级词汇打卡第二天(二)
- linux删除一个root权限管理,linux – 允许非root用户删除缓存
- Oracle数据库对象 序列
- Exchange2013 企业部署解决方案-Part 2
- js打印线程id_理解Python多线程:通过易懂的小例子展开第一篇
- 声笔飞码6.00版使用指南
- [转载] C#开发实战1200例(第I卷)目录
- Jeanjack旗舰店 “Jeanjack官网 Jeanjack男装”
- canvas实现一个线性图
- java debug dll_JavaDebug.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
- mount error(112): Host is down 故障解决
- Docker启动Elastic Search报错 ERROR: [1] bootstrap checks failed
- 什么是DNS劫持?如何进行有效应对?
- 微信小程序微信支付《JSAPI支付》APIV3详细教程
- xd怎么做页面滑动_XD教程 | 如何在XD中制作拖拽手势”
热门文章
- bzoj 3611: [Heoi2014]大工程(虚树+树形DP)
- bzoj 3441: 乌鸦喝水(说实话有生之年没有见过这么难的模拟)
- 解决MySQL无法正常启动的问题 Can't connect to MySQL server on 'localhost'(10061)
- js排序算法详解-选择排序
- 【转载】asp.net core 入门
- 使用vue完成一个分页效果
- Cocos Creator 的实现拖尾效果
- DirectUI的初步分析-转
- QTcpSocket 发送数据的几种方法
- FreeMarker 基础语法教程