官网:https://docs.spring.io/spring-boot/docs/2.1.8.BUILD-SNAPSHOT/reference/htmlsingle/#boot-features-webclient
WebClient是一个响应式客户端,它提供了RestTemplate的替代方法。它公开了一个功能齐全、流畅的API,并依赖于非阻塞I / O,使其能够比RestTemplate更高效地支持高并发性。WebClient非常适合流式的传输方案,并且依赖于较低级别的HTTP客户端库来执行请求,是可插拔的
测试类
import org.springframework.http.MediaType;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Mono;
//@RunWith(SpringRunner.class)
//@SpringBootTest
public class WebfluxDemoApplicationTests {
@Test
public void contextLoads() {
}
@Test
public void test1() {
//客户端
Mono<String> bodyMono=WebClient.create()
.get()
.uri("http://localhost:8080/webflux/my/find?id=2")
.accept(MediaType.APPLICATION_STREAM_JSON).retrieve()
.bodyToMono(String.class);
System.out.println(bodyMono.block());
}
@Test
public void testAdd() {
//用户对象
Mono<User> monoToSave = Mono.just(new User(10,"back","9999"));
WebClient.create()
.post()
.uri("http://localhost:8080/webflux/my/add")
.contentType(MediaType.APPLICATION_JSON)
.body(monoToSave,User.class)
.retrieve()
.bodyToMono(Void.class)
.block();
}
}
启动服务端,再右键测试查找方法;
右键测试添加方法,
再通过页面显示数据