今天在一個基於Spring Cloud開發的項目上添加了一個遠程調用另外一個微服務的程序接口,在重新啟動程序進行測試時出現如下異常:
Caused by: java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0
at feign.Util.checkState(Util.java:128)
at org.springframework.cloud.netflix.feign.annotation.RequestParamParameterProcessor.processArgument(RequestParamParameterProcessor.java:63)
at org.springframework.cloud.netflix.feign.support.SpringMvcContract.processAnnotationsOnParameter(SpringMvcContract.java:238)
at feign.Contract$BaseContract.parseAndValidateMetadata(Contract.java:107)
at org.springframework.cloud.netflix.feign.support.SpringMvcContract.parseAndValidateMetadata(SpringMvcContract.java:133)
at feign.Contract$BaseContract.parseAndValidatateMetadata(Contract.java:64)
at feign.hystrix.HystrixDelegatingContract.parseAndValidatateMetadata(HystrixDelegatingContract.java:34)
at feign.ReflectiveFeign$ParseHandlersByName.apply(ReflectiveFeign.java:146)
at feign.ReflectiveFeign.newInstance(ReflectiveFeign.java:53)
at feign.hystrix.HystrixFeign$Builder.target(HystrixFeign.java:59)
at org.springframework.cloud.netflix.feign.HystrixTargeter.targetWithFallbackFactory(HystrixTargeter.java:78)
at org.springframework.cloud.netflix.feign.HystrixTargeter.target(HystrixTargeter.java:53)
at org.springframework.cloud.netflix.feign.FeignClientFactoryBean.loadBalance(FeignClientFactoryBean.java:145)
at org.springframework.cloud.netflix.feign.FeignClientFactoryBean.getObject(FeignClientFactoryBean.java:166)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:168)
... 42 common frames omitted
前面還有更長的異常信息,這里只是列出了控制台輸出的最底層的異常信息,關鍵問題在於提示的異常信息是
RequestParam.value() was empty on parameter 0
排查了下代碼發現在新添加的通過Feign調用遠程微服務接口的參數中在注解@RequestParam上書寫錯誤
ReturnResultObject updateBatchNumberStatus(@RequestParam List<String> billID_list);
是在注解后面缺少了表示參數名的屬性值,應該寫成如下:
ReturnResultObject updateBatchNumberStatus(@RequestParam("billID_list") List<String> billID_list);
犯了一個小錯誤,這里記錄一下,防止后面再犯這樣的錯誤。
本文轉載自:https://blog.csdn.net/jxm007love/article/details/80109974