Caused by: java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0
今天看到这么一个异常,记录一下,是远程调用feign接口的时候参数注解没有添加相应的属性(value)的值
Caused by: java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0
at feign.Util.checkState(Util.java:126)
at org.springframework.cloud.openfeign.annotation.RequestParamParameterProcessor.processArgument(RequestParamParameterProcessor.java:63)
at org.springframework.cloud.openfeign.support.SpringMvcContract.processAnnotationsOnParameter(SpringMvcContract.java:238)
at feign.Contract$BaseContract.parseAndValidateMetadata(Contract.java:108)
at org.springframework.cloud.openfeign.support.SpringMvcContract.parseAndValidateMetadata(SpringMvcContract.java:133)
at feign.Contract$BaseContract.parseAndValidatateMetadata(Contract.java:64)
at feign.hystrix.HystrixDelegatingContract.parseAndValidatateMetadata(HystrixDelegatingContract.java:47)
at feign.ReflectiveFeign$ParseHandlersByName.apply(ReflectiveFeign.java:153)
at feign.ReflectiveFeign.newInstance(ReflectiveFeign.java:52)
at feign.hystrix.HystrixFeign$Builder.target(HystrixFeign.java:65)
at org.springframework.cloud.openfeign.HystrixTargeter.targetWithFallback(HystrixTargeter.java:73)
at org.springframework.cloud.openfeign.HystrixTargeter.target(HystrixTargeter.java:49)
at org.springframework.cloud.openfeign.FeignClientFactoryBean.loadBalance(FeignClientFactoryBean.java:223)
at org.springframework.cloud.openfeign.FeignClientFactoryBean.getTarget(FeignClientFactoryBean.java:252)
at org.springframework.cloud.openfeign.FeignClientFactoryBean.getObject(FeignClientFactoryBean.java:232)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:171)
... 48 common frames omitted
这里只是部分异常信息,排查发现@RequestParam后面没有跟属性value
ResponseMessage getTreeByDeptCode(@RequestParam String deptCode);
修改之后为
ResponseMessage getTreeByDeptCode(@RequestParam("deptCode") String deptCode);
或者
ResponseMessage getTreeByDeptCode(@RequestParam(value = "deptCode") String deptCode);
说明—>没有研究明白是工具的问题还是咋的了,我同事的电脑上面不加value属性可以启动,不报错