首页 > 其他分享 >SpringCloud中的Feign组件远程调用接口时PathVariable annotation was empty on param 0的异常解决

SpringCloud中的Feign组件远程调用接口时PathVariable annotation was empty on param 0的异常解决

时间:2022-12-23 14:35:11浏览次数:39  
标签:Feign java PathVariable SpringCloud 5.2 beans RELEASE org


IllegalStateException: PathVariable annotation was empty on param 0异常解决

一.异常现象

我在利用SpringCloud进行微服务开发时,使用feign组件进行远程调用,结果产生了如下异常信息:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.yyg.platform.web.service.api.CacheService': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: PathVariable annotation was empty on param 0.
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:101) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1818) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1266) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:260) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
at .....
org.springframework.cloud.openfeign.FeignClientFactoryBean.loadBalance(FeignClientFactoryBean.java:253) ~[spring-cloud-openfeign-core-2.2.2.RELEASE.jar:2.2.2.RELEASE]
at org.springframework.cloud.openfeign.FeignClientFactoryBean.getTarget(FeignClientFactoryBean.java:282) ~[spring-cloud-openfeign-core-2.2.2.RELEASE.jar:2.2.2.RELEASE]
at org.springframework.cloud.openfeign.FeignClientFactoryBean.getObject(FeignClientFactoryBean.java:262) ~[spring-cloud-openfeign-core-2.2.2.RELEASE.jar:2.2.2.RELEASE]
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:171) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
... 43 common frames omitted
......

Process finished with exit code 1

根据异常信息可以看到,主要是有这么一个异常信息:

IllegalStateException: PathVariable annotation was empty on param 0.

二.异常原因

从异常信息中可以看到,主要是说是PathVariable注解有问题!也就是@PathVariable注解的第0个值为空!

下面是我在声明Feign接口方法时候,使用@PathVariable注解的接口方法:

@GetMapping("/user/{id}")
public User get(@PathVariable Long id);

可以看到我的path路径部分只有一个id变量,那么说在“was empty on param 0”,也就是说id值没有取到!

三.解决办法

将@PathVariable修改为@PathVariable(value="id")的写法,明确带有value="id"!

@GetMapping("/user/{id}")
public User get(@PathVariable(value="id") Long id);

修改之后重新启动,问题解决!

 

标签:Feign,java,PathVariable,SpringCloud,5.2,beans,RELEASE,org
From: https://blog.51cto.com/u_7044146/5965619

相关文章

  • SpringCloud学习 系列十、服务熔断与降级(1-简介)
    系列导航SpringCloud学习系列一、前言-为什么要学习微服务SpringCloud学习系列二、简介SpringCloud学习系列三、创建一个没有使用springCloud的服务提供者和消费......
  • xxl-job使用openfeign,报空指针异常(java.lang.NullPointerException)
    当使用xxl-job调用项目时,如果刚好使用了feign中间件调用微服务接口,会报空指针异常可以在代码前面加一句:RequestContextHolder.setRequestAttributes(newServletReques......
  • Spring Cloud 2022 正式发布!我的天,OpenFeign​ 要退出历史舞台了?!
    大家好,我是栈长。今天给大家通报一则框架更新消息,时隔2021.x版本发布一年,SpringCloud2022.0.0最新版发布了,来看下最新的SpringCloud版本情况:SpringCloud无疑......
  • 《SpringCloud系列教程》目录大纲
    《SpringCloud系列教程》目录大纲:SpringCloud系列教程分为三个部分:1)SpringCloudNetflix系列2)SpringCloudAlibaba系列3)SpringCloud原生组件系列Tips:记得点赞呐~前言编写资料......
  • SpringCloud微服务框架复习笔记
    SpringCloud微服务框架复习笔记什么是微服务架构?微服务是一种软件开发技术,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每......
  • SpringCloud OpenFeign配置
    前言原生OpenFeign与SpringCloudOpenFeign在配置上有些区别,主要关注点在Contract、Encoder、Decoder的不同,而Contract最主要作用是对feignClient接口与方法上注解的解析......
  • springcloud学习笔记
    SpringCloud学习笔记1.   简介架构的演进单体架构->SOA->微服务1.1 微服务1.1.1      什么是微服务?是以开发一组小型服务的方式来开发一个独立的应用系统......
  • SpringCloud学习 系列九、Ribbon
    系列导航SpringCloud学习系列一、前言-为什么要学习微服务SpringCloud学习系列二、简介SpringCloud学习系列三、创建一个没有使用springCloud的服务提供者和消费......
  • SpringCloud学习 系列八、OpenFeign
    系列导航SpringCloud学习系列一、前言-为什么要学习微服务SpringCloud学习系列二、简介SpringCloud学习系列三、创建一个没有使用springCloud的服务提供者和消费......
  • Hystrix结合Feign实现熔断和降级
    Feign本身就整合了Hystrix,所以它自带熔断和降级功能,只不过默认熔断功能是关闭的,需要我们自己去开启。所以我们只需要在Hystrix服务项目上添加Feign服务访问方式即可实现熔......