对方接口:
一般情况下,我们都是使用post请求把参数放到body内进行传输,接口都是使用@RequestBody来接受对方的请求参数;这次对接其他系统时候遇到对方是使用@requestParam接受参数,这样的话我们只能将参数拼接到到url参数上,但是我始终觉得这个传输方式不太友好(比如参数太长)
为了代码可读性,我并不想将所有的参数都拼接到接口地址url的后面
解决方案:
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<MultiValueMap<String, String>> httpEntity = new HttpEntity<>(map, httpHeaders);
String result = restTemplate.postForEntity(url, httpEntity, String.class).getBody();