resttemplate.postForEntity发送json数据
时间: 2023-08-12 21:08:07 浏览: 550
POST一个JSON格式的数据给Restful服务实例详解
您可以使用`RestTemplate`的`postForEntity`方法发送JSON数据。以下是一个示例代码:
```java
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
public class Main {
public static void main(String[] args) {
// 创建RestTemplate实例
RestTemplate restTemplate = new RestTemplate();
// 设置请求头,指定Content-Type为application/json
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// 创建包含JSON数据的请求体
String jsonBody = "{\"key1\":\"value1\", \"key2\":\"value2\"}";
HttpEntity<String> requestEntity = new HttpEntity<>(jsonBody, headers);
// 发送POST请求,并获取响应
String url = "http://example.com/api/endpoint";
ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
// 处理响应
if (responseEntity.getStatusCode().is2xxSuccessful()) {
String responseBody = responseEntity.getBody();
System.out.println("Response Body: " + responseBody);
} else {
System.out.println("Request failed with status code: " + responseEntity.getStatusCodeValue());
}
}
}
```
在上面的示例中,您需要根据您的实际情况修改URL、JSON数据和请求头。您可以将JSON数据作为字符串传递给`HttpEntity`的构造函数,并将其作为参数传递给`postForEntity`方法。响应以`ResponseEntity`对象的形式返回,您可以从中获取响应体并进行处理。
阅读全文