@FeignClient失败调用微服务,接口路径参数不完整导致失败

通过@FeignClient注解调用微服务接口,若接口路径参数不传入,会导致接口调用失败

 

举个例子,如下接口 如图1-1:

 

@FeignClient失败调用微服务,接口路径参数不完整导致失败_第1张图片

图1-1 接口详情

查看该接口的源码,如图1-2:

@FeignClient失败调用微服务,接口路径参数不完整导致失败_第2张图片

@FeignClient失败调用微服务,接口路径参数不完整导致失败_第3张图片

图1-2接口源码

接口路径当中有{organizationId} 接口路径参数,但是接口入参的时候中并没有接收该参数,

一般人会以为,既然不接收该参数,那就不传进去就行,可是,这种想法是错误的。

 

错误写法:

通过@FeignClient调用该接口,这种错误写法会导致接口调用失败,如图1-3

 

@FeignClient失败调用微服务,接口路径参数不完整导致失败_第4张图片

图1-3错误写法

 

正确的写法:

应该是把organizationId作为接口路径参数传入,如图1-4:

 

 

@FeignClient失败调用微服务,接口路径参数不完整导致失败_第5张图片

图1-4正确写法

总结:

传不传参合和它接不接这个参数没有任何关系    路径里包含这个参数   但是接口没有接这个参数

按理来说可以不传,但是还有其他的影响,网关会截取这个参数做鉴权 所以还是要传

你可能感兴趣的:(@FeignClient,失败,微服务,参数)