这是我之前写的一篇关于feign发起请求传参的博客feign
今天在开发过程中,对接方提供的接口请求方式是POST请求,用的也是body,但是body类型确是application/x-www-form-urlencoded。这种请求方式不同于json,同时也不同于form-data。form-data一般用来上传文件,而application/x-www-form-urlencoded是key-value形式,同时会进行url编码。
此时在代码里你需要指定发起请求时的传参格式:
@RequestLine("POST /***")
@Headers({"Content-Type: application/x-www-form-urlencoded"})
JSONObject saveData(@QueryMap Map<String,Object> params);
同时,注解不能用@RequestBody要用@QueryMap,否则接口还是接收不到你的请求参数。如果是json格式就可以直接用@RequestBody注解。