加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – Body参数不能与表单参数一起使用 – 使用Headers和jso

发布时间:2020-12-15 01:41:04 所属栏目:大数据 来源:网络整理
导读:我有这样的FeignClient @RequestLine("POST /enroll")@Headers({ "header1: {header1}","header2: {header2}","Content-Type: application/json" })ResponseDto enroll(@Param("header1") String header1,@Param("header1") String header1,RequestDto reque

我有这样的FeignClient

@RequestLine("POST /enroll")
@Headers({ "header1: {header1}","header2: {header2}","Content-Type: application/json" })
ResponseDto enroll(@Param("header1") String header1,@Param("header1") String header1,RequestDto requestDto)throws MyCustomException;

`
我没有使用spring cloud netflix.但我一直得到以下例外.

Caused by: java.lang.IllegalStateException: Body parameters cannot be used with form parameters.
at feign.Util.checkState(Util.java:128)
at feign.Contract$BaseContract.parseAndValidateMetadata(Contract.java:112)
at feign.Contract$BaseContract.parseAndValidatateMetadata(Contract.java:64)
at feign.ReflectiveFeign$ParseHandlersByName.apply(ReflectiveFeign.java:146)
at feign.ReflectiveFeign.newInstance(ReflectiveFeign.java:53)
at feign.Feign$Builder.target(Feign.java:209)
at feign.Feign$Builder.target(Feign.java:205)

我像这样实例化我的客户端.

return Feign.builder()
        .encoder(new JacksonEncoder())
        .decoder(new JacksonDecoder())
        .logger(new Slf4jLogger())
        .logLevel(Logger.Level.FULL)
        .target(RegularFeignClient.class,url);
最佳答案
哇这是一个棘手的问题.参数的顺序在这里很重要.

@RequestLine("POST /enroll")
@Headers({ "header1: {header1}","Content-Type: application/json" })
ResponseDto enroll(RequestDto requestDto,@Param("header1") String header1)throws MyCustomException;

这个工作!!!

感谢我的高级开发人员.他找到了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读