SpringCloud使用Feign调用其他客户端带参数的接口,传入参数为null或报错status 405 reading IndexService#del(Integer);

时间:2021-10-17 02:55:47

SpringCloud使用Feign调用其他客户端带参数的接口,传入参数为null或报错status 405 reading IndexService#del(Integer);

第一种方法:

如果你的API为Restful 方式的可以在Client接口参数中加注解@PathVariable

@FeignClient(name = "PRODUCT")
@Component
public interface ProductClient { @PostMapping("/product/getMsgByGet/{a}")
String getMsg(@PathVariable("a") String a); }

第二种方法:

不是Restful形式的API 在Client接口参数加注解@ReuqstParam

@FeignClient(name = "PRODUCT")
@Component
public interface ProductClient {
@PostMapping("/product/getMsgByGet")
String getMsg(@RequestParam String a);
}

不加这两个注解的话目标服务可能会无法识别参数,造成错误。