WebClient更适合服务器之间的调用,这样异步和非阻塞的特性才能很好展现
一.框架介绍及设计思路
1.项目构建
-
构建项目引入Reactive Web和Lambok依赖
-
定义调用接口,调用其他服务的UserAPI
@ApiServer("http://localhost:8080/user")//指定调用的服务API,此注解需要自行定义 public interface IUserAPI { @GetMapping("/")//定义GetUser的Rest接口 Flux<User> getAllUser(); @GetMapping("/{id}") Mono<User> getUserById(@PathVariable("id") String id); @DeleteMapping("/{id}") Mono<Void> deleteUserById(@PathVariable("id") String id); @PostMapping("/") Mono<User> createUser(@RequestBody Mono<User> user); }
-
自定义注解指定发送的服务器相关信息
/** * 服务器相关信息 */ @Target(ElementType.TYPE)//定义注解加在类上 @Retention(RetentionPolicy.RU