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);
    }
posted @   好事的猫  阅读(115)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
点击右上角即可分享
微信分享提示