restTemplate formdata发送
时间: 2024-06-12 07:08:47 浏览: 59
restTemplate可以通过MultiValueMap来发送formdata,示例如下:
```java
RestTemplate restTemplate = new RestTemplate();
MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
formData.add("key1", "value1");
formData.add("key2", "value2");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(formData, headers);
String url = "https://example.com/api/endpoint";
ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, requestEntity, String.class);
String response = responseEntity.getBody();
```
这个例子中,我们创建了一个MultiValueMap对象`formData`来存储formdata的键值对。然后创建了一个HttpHeaders对象`headers`并设置Content-Type为`application/x-www-form-urlencoded`。接下来,我们创建了一个HttpEntity对象`requestEntity`,将formData和headers作为参数传入。最后,我们使用RestTemplate的postForEntity方法发送POST请求,并将返回的结果存储在一个ResponseEntity对象中。
阅读全文