springBoot使用webclient的demo

本文通过一个demo展示了SpringBoot中WebClient非阻塞方式与RestTemplate阻塞方式调用HTTP接口的区别。WebClient在调用后立即输出后续代码,不等待结果返回,而RestTemplate则等待结果返回后继续执行。
摘要由CSDN通过智能技术生成

webclient采用非阻塞的方式实现http调用。RestTemplate采用的是阻塞式的方式。

为了更好的展示两者的区别,下面我们写了一个demo,供大家参考

先创建一个供调用的接口

package com.wc.www.ScBus.restcontroller;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.wc.www.ScBus.entity.Tweet;

@RestController
@RequestMapping("/test")
public class TestController {
	
	@GetMapping("/slow-service-tweets")
	private List<Tweet> getAllTweets() {
	    try {
			Thread.sleep(2000L);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} // delay
	    return Arrays.asList(
	      new Tweet("RestTemplate rules&
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot WebClient 是一个非阻塞的基于响应式编程的进行 HTTP 请求的客户端工具,它是在 Spring 5 中引入的一种非阻塞式 Reactive HTTP 客户端。与传统的 RestTemplate 相比,WebClient 使用异步非阻塞的请求模式,能够以少量固定的线程处理高并发的 HTTP 请求。因此,从 Spring 5 开始,推荐使用 WebClient 来进行 HTTP 通信。通过在 pom.xml 文件中添加 Spring WebFlux 依赖,你可以使用 WebClient。 你可以通过创建 WebClient 实例并使用它来发送 HTTP 请求。关于如何使用 WebClient,你可以参考 Spring 官方文档中提供的样例演示。 WebClient 具有以下优势:首先,它支持非阻塞的异步请求模式,这意味着它可以处理大量并发的请求;其次,它支持响应式编程,使得处理异步数据流更加方便;最后,它提供了丰富的 API,可以灵活地进行请求和响应处理。因此,如果你在使用 Spring Boot 开发应用程序,并需要进行 HTTP 通信,强烈建议你使用 WebClient 来替代 RestTemplate。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [SpringBoot - 网络请求客户端WebClient使用详解](https://blog.csdn.net/weixin_35688430/article/details/119750922)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [springboot-webFlux的webclient详细使用介绍,细节拉满](https://blog.csdn.net/A_art_xiang/article/details/127025263)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值