一:PathVariable annotation was empty on param 0.

产生此异常的原因是路径参数(PathVariable)有问题,主要需要注意2个地方,

1,接口地址后必须有参数(使用花括号标识):{xxx}

2,feign调用接口中的路径参数注解PathVariable 必须有value指定参数

同理,Feign调用中 @RequestParam注解也需要指定参数,不用feign调用可以省略

错误示例1:没有带路径参数:/{xxx}

@GetMapping(value = "/alarm/getAlarmInfo")
R<String> getAlarmInfo(@PathVariable("alarmId") String alarmId);

错误示例2:没有在注解路径变量中指定是哪个参数,feign必须指定用getAlarmInfo(@PathVariable(“alarmId”) String alarmId); 或 getAlarmInfo(@PathVariable(value=“alarmId”) String alarmId) 指定都OK。

 @GetMapping(value = "/alarm/getAlarmInfo/{alarmId}")
 R<String> getAlarmInfo(@PathVariable String alarmId);

正确示例:

 @GetMapping(value = "/alarm/getAlarmInfo/{alarmId}")
 R<String> getAlarmInfo(@PathVariable("alarmId") String alarmId);
 或
 @GetMapping(value = "/alarm/getAlarmInfo/{alarmId}")
 R<String> getAlarmInfo(@PathVariable(value="alarmId") String alarmId);