ENV: Spring boot:2.1.4 org.springframework.cloud:spring-cloud-starter-openfeign:2.1.1.RELEASE First,I use maven to build project is fine. Then I switched from maven to gradle and started to report an error.
Caused by: java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0
at feign.Util.checkState(Util.java:127) ~[feign-core-10.1.0.jar:na]
at org.springframework.cloud.openfeign.annotation.RequestParamParameterProcessor.processArgument(RequestParamParameterProcessor.java:65) ~[spring-cloud-openfeign-core-2.1.1.RELEASE.jar:2.1.1.RELEASE]
at org.springframework.cloud.openfeign.support.SpringMvcContract.processAnnotationsOnParameter(SpringMvcContract.java:292) ~[spring-cloud-openfeign-core-2.1.1.RELEASE.jar:2.1.1.RELEASE]
at feign.Contract$BaseContract.parseAndValidateMetadata(Contract.java:110) ~[feign-core-10.1.0.jar:na]
at org.springframework.cloud.openfeign.support.SpringMvcContract.parseAndValidateMetadata(SpringMvcContract.java:188) ~[spring-cloud-openfeign-core-2.1.1.RELEASE.jar:2.1.1.RELEASE]
at feign.Contract$BaseContract.parseAndValidatateMetadata(Contract.java:66) ~[feign-core-10.1.0.jar:na]
at feign.ReflectiveFeign$ParseHandlersByName.apply(ReflectiveFeign.java:154) ~[feign-core-10.1.0.jar:na]
at feign.ReflectiveFeign.newInstance(ReflectiveFeign.java:52) ~[feign-core-10.1.0.jar:na]
@GetMapping("/access-url")
Result<Boolean> accessUrl(@RequestParam Integer userId, @RequestParam("url") String url);
This is because RequestParam.value() was empty . and if i set the value ,work fine.
Comment From: spencergibb
You need to compile with -parameters jvm argument
Comment From: bpzhang
You need to compile with -parameters jvm argument
It compiles successfully, but only when the request is made. I still don't quite understand what you said? Can you explain it to me? Thank you
Comment From: spencergibb
https://stackoverflow.com/questions/37463902/how-to-pass-parameters-javac-flag-to-java-compiler-via-gradle
Comment From: bpzhang
It works. Thanks