springCloud使用 feign 远程调用失败,提示 Required request body is missing

重现

项目中遇到使用 feign 抛出远程调用失败的错误
先来看代码:

  • 远程接口
/**
*查询待签,代办 事物
* @param bladeFlow
* @param query
* @return
*/
@GetMapping(GET_PROCESS_LIST)
R<IPage<BladeFlow>> processList(@RequestBody BladeFlow bladeFlow, @RequestBody Query query);
  • 调用接口
/**
* 待签、待办合并列表页
*/
@PostMapping("process-list")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "待签、待办合并列表页", notes = "传入流程信息")
public R<IPage<BladeFlow>> processList(@ApiParam("流程信息") BladeFlow bladeFlow, Query query) {
    R<IPage<BladeFlow>> processList = iFlowClient.processList(bladeFlow, query);
    return R.data(processList);
}

报错信息如下:

2020-12-08 10:56:38.419 ERROR 81461 --- [ XNIO-1 task-13] o.s.c.log.error.RestExceptionTranslator  : 消息不能读取:Required request body is missing: public org.springblade.core.tool.api.R<com.baomidou.mybatisplus.core.metadata.IPage<org.springblade.flow.core.entity.BladeFlow>> org.springblade.flow.business.feign.FlowClient.processList(org.springblade.flow.core.entity.BladeFlow,org.springblade.core.mp.support.Query)

提示的很明显,消息不能读取:Required request body is missing

原因

由于 GET 方法请求试没有传输 body 因此无法获取 body 信息,所以这边需要将远程接口改成PostMapping就可以了

这个时候会遇到 Method has too many Body parameters 原因是接口中只能有一个 @RequestBody

posted @   会飞的小黑鱼  阅读(7355)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示