一、该问题的重现步骤是什么?
1. 通过OkHttpUtil.postJson方法调用后台接口。
2. 后台通过 @RequestBody bean 接收。
二、你期待的结果是什么?实际看到的又是什么?
可以正常调用到,不报错。
实际上,报错了
消息不能读取:Required request body is missing: public org.springblade.core.tool.api.R
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX 授权版。在Win10系统上。
四、请提供详细的错误堆栈信息,这很重要。
2019-10-15 09:41:44.829 DEBUG 20712 --- [ XNIO-1 task-81] .c.c.v.BladeRequestMappingHandlerMapping : Mapped to public org.springblade.core.tool.api.R
2019-10-15 09:41:44.829 ERROR 20712 --- [ XNIO-1 task-81] o.s.c.log.error.RestExceptionTranslator : 消息不能读取:Required request body is missing: public org.springblade.core.tool.api.R
五、若有更多详细信息,请在下面提供。
请求方:
接收方:
请求方堆栈:
================ Response Start ================
===Result=== {"code":200,"success":true,"data":"","msg":"操作成功"}
<=== POST: /sminterfacemanage/testForwardFeign (1476 ms)
================ Response End ================
接收方堆栈:
2019-10-15 09:41:44.829 DEBUG 20712 --- [ XNIO-1 task-81] .c.c.v.BladeRequestMappingHandlerMapping : Mapped to public org.springblade.core.tool.api.R
2019-10-15 09:41:44.829 ERROR 20712 --- [ XNIO-1 task-81] o.s.c.log.error.RestExceptionTranslator : 消息不能读取:Required request body is missing: public org.springblade.core.tool.api.R
接收方的controller可以在postman中调试通过。
补充一下:使用BladeX中封装的OkHttp是可以调用其他系统的controller的,但是不能调通BladeX内部的controller。其他系统中通过OkHttp也不能调通BladeX中的controller,感觉是对请求进行了拦截,然后重写了,在分析tool中的各种拦截器,暂时还没有找到原因。这个很影响我们公司的使用,因为要向外部公司提供接口,人家过来请求,我们是拿不到的啊。。。
扫一扫访问 Blade技术社区 移动端