记录一次参数格式为x-www-form-urlencoded的请求

724 阅读1分钟

记录一次参数格式为x-www-form-urlencoded的请求

问题导入: 因为业务需求 需要用# x-www-form-urlencoded的参数格式发送post请求 但常规post请求发送有问题 在网上找了很多文章最后找到了解决方案

首先x-www-form-urlencoded是什么

一种请求头內的Content-Type字段 application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。

如何解决

使用feign 参数使用@RequestBody 并且使用 MultiValueMap

如下所示

@FeignClient(
    name = "xxxapi",
    url = "${url}"
)
public interface xxxClient {
 
    @PostMapping(
        value = "/v1/demo/idcard",
        headers = {"content-type=application/x-www-form-urlencoded"}
    )
    Map<String,Object> method(@RequestBody MultiValueMap<String, Object> request);
}

参考

关于feign对x-www-form-urlencode类型的encode和decode问题www.jb51.net/article/239…

x-www-form-urlencoded到底是什么? blog.csdn.net/qq_29923881…