Feign 接口启动报错总结记录

📅 2026/7/9 7:45:48 👁️ 阅读次数 📝 编程学习
Feign 接口启动报错总结记录

一、报错根源

Spring Cloud OpenFeign 对注解强制校验,@PathVariable、@RequestParam 必须显式填写 value 属性,只写 required 或完全空注解直接启动抛异常。

二、先后出现两类错误

错误 1:PathVariable annotation was empty on param 0

  1. 出错代码

java

运行

// 错误 @PathVariable String shippingCode
  1. 原因 @PathVariable 未指定 value,Feign 无法识别路径参数名称。
  2. 修复方案

java

运行

// 正确 @PathVariable(value = "shippingCode") String shippingCode

错误 2:RequestParam.value () was empty on parameter 1

  1. 出错代码

java

运行

// 错误,仅写required,缺失value @RequestParam(required = false) String apiTypeCode @RequestParam(required = false) String apiUri @RequestParam(required = false) String orgId @RequestParam(required = false) String systemCode
  1. 原因 @RequestParam 缺少 value 参数名定义,Feign 解析参数失败。
  2. 修复方案

java

运行

// 正确 @RequestParam(value = "apiTypeCode", required = false) String apiTypeCode @RequestParam(value = "apiUri", required = false) String apiUri @RequestParam(value = "orgId", required = false) String orgId @RequestParam(value = "systemCode", required = false) String systemCode

三、通用规范(Feign 接口强制遵守)

  1. @PathVariable:无论是否必填,必须带 value = "路径变量名";
  2. @RequestParam:无论是否必填,必须带 value = "请求参数名";
  3. @RequestBody:无强制 value 限制,无需修改;
  4. 所有路径、查询参数注解缺一不可省略 value,否则服务初始化直接崩溃。

四、无关日志(仅警告,不影响启动)

  1. RocketMQ Connection refused:127.0.0.1:9876 原因:未启动 RocketMQ NameServer,仅连接警告,不是服务崩溃根因;
  2. Tomcat APR、CGLIB final 方法、线程内存泄漏类 WARN 底层容器 / 代理提示,不阻断项目启动,可忽略。