調用錯誤如下:
Caused by: java.lang.IllegalStateException: Method has too many Body parameters: public abstract com.qolome.utils.web.HttpResult com.fuli.salary.feign.accounts(com.fuli.salary.feign.accounts.model.OpenAccountParam,org.springframework.validation.BindingResult)
at feign.Util.checkState(Util.java:130) ~[feign-core-10.2.3.jar:na]
at feign.Contract$BaseContract.parseAndValidateMetadata(Contract.java:117) ~[feign-core-10.2.3.jar:na]
at org.springframework.cloud.openfeign.support.SpringMvcContract.parseAndValidateMetadata(SpringMvcContract.java:188) ~[spring-cloud-openfeign-core-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at feign.Contract$BaseContract.parseAndValidatateMetadata(Contract.java:66) ~[feign-core-10.2.3.jar:na]
at feign.ReflectiveFeign$ParseHandlersByName.apply(ReflectiveFeign.java:154) ~[feign-core-10.2.3.jar:na]
at feign.ReflectiveFeign.newInstance(ReflectiveFeign.java:52) ~[feign-core-10.2.3.jar:na]
at feign.Feign$Builder.target(Feign.java:251) ~[feign-core-10.2.3.jar:na]
at org.springframework.cloud.openfeign.HystrixTargeter.target(HystrixTargeter.java:36) ~[spring-cloud-openfeign-core-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.cloud.openfeign.FeignClientFactoryBean.loadBalance(FeignClientFactoryBean.java:238) ~[spring-cloud-openfeign-core-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.cloud.openfeign.FeignClientFactoryBean.getTarget(FeignClientFactoryBean.java:267) ~[spring-cloud-openfeign-core-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.cloud.openfeign.FeignClientFactoryBean.getObject(FeignClientFactoryBean.java:247) ~[spring-cloud-openfeign-core-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:171) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
... 43 common frames omitted
其中方法中的 @RequestBody 可以不寫,但不要寫成 @RequestParam("creditCode") 形式
因爲外部系統的定義方法如下:
@ApiOperation(value = "根據企業ID獲取已入網的企業信息", notes = "根據企業ID獲取已入網且有效的企業信息")
@PostMapping(value = "/companyList")
public Result<List<CompanyInfoVO>> getCompanyByCorpId(@RequestBody @Validated(VdGroupSequence.class) CorpInfoParam param, BindingResult result){
log.info("【APP端調用接口>獲取已入網的企業信息】:參數 => {}", param);
}
這裏需要保持一致