java–Body参数不能与表单参数一起使用 – 使用Headers和json数据来表示客户端

java–Body参数不能与表单参数一起使用 – 使用Headers和json数据来表示客户端,第1张

概述我有这样的FeignClient@RequestLine('POST /enroll') @Headers({ 'header1: {header1}', 'header2: {header2}', 'Content-Type: application/json' }) ResponseDto enroll(@Param('header1') String

我有这样的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;

这个工作!!!

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

@H_502_42@ 总结

以上是内存溢出为你收集整理的java – Body参数不能与表单参数一起使用 – 使用Headers和json数据来表示客户端全部内容,希望文章能够帮你解决java – Body参数不能与表单参数一起使用 – 使用Headers和json数据来表示客户端所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265915.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存