resttemplate post form urlencoded

RestTemplate是Spring提供的一个用于访问RESTful服务的客户端工具类。它支持多种HTTP请求方式,包括GET、POST、PUT、DELETE等。

如果要使用RestTemplate发送POST请求,且请求体为application/x-www-form-urlencoded格式,可以使用如下代码:

RestTemplate restTemplate = new RestTemplate();
MultiValueMap<String, String> map= new LinkedMultiValueMap<>();
map.add("param1", "value1");
map.add("param2", "value2");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(map, headers);
String url = "http://example.com/api/resource";
ResponseEntity<String> response = restTemplate.postForEntity(url, request, String.class);

上述代码中,我们先创建了一个MultiValueMap对象,用于存储POST请求的参数。然后,我们创建了一个HttpHeaders对象,并设置其Content-Type为application/x-www-form-urlencoded,以告诉服务端请求体的格式。接着,我们创建了一个HttpEntity对象,用于封装请求参数和请求头信息。最后,我们使用RestTemplate的postForEntity方法发送POST请求,并将返回结果封装为ResponseEntity对象。

需要注意的是,我们使用的是postForEntity方法,该方法会返回完整的HTTP响应,包括响应头、响应体等信息。如果只需要获取响应体,可以使用postForObject方法。

希望这些信息能够帮助您。如果您还有任何问题,请随时提问。

  •