Spring 之 RestTemplate VS WebClient 发送 HTTP请求
WebClient 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
WebClient 方法 | 注解 |
---|---|
block() | 阻塞式获取响应结果 |
subscribe() | 非阻塞式获取响应结果 |
exchange() | 获取HTTP响应完整内容:HTTP报文中的状态码、headers等信息 |
retrieve() | 只能获取HTTP报文中的Body |
WebClient Post请求发送JSON字符串、对象、表单数据
RestTemplate Post请求发送JSON字符串、对象、表单数据
@Test
void contextLoads3() {
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
//设置请求头
HttpHeaders headers = new HttpHeaders();
//设置参数
LinkedMultiValueMap<String, Object> body = new LinkedMultiValueMap();
body.add("tel", "15333065057");
HttpEntity<LinkedMultiValueMap<String, Object>> entity = new HttpEntity(body, headers);
//请求接口,并接收返回的信息
String s = restTemplate.exchange("http://jsonplaceholder.typicode.com/posts", HttpMethod.POST, entity, String.class).getBody();
System.out.println(s);
}
本文来自博客园,作者:暮雨寒冬,转载请注明原文链接:https://www.cnblogs.com/good--luck/p/15828563.html