SpringBoot中通过feign方式调用外部系统接口时出现错误

调用错误如下:

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);
}

这里需要保持一致

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值