Spring WebFlux (5): WebClient使用

本文介绍了Spring WebFlux的WebClient用法,包括流数据处理、POST请求、GET请求参数传递(URI处理)及过滤器(filter)的使用。通过示例展示了如何使用WebClient进行网络请求,如通过Flux筛选数据、设置POST请求体以及处理GET请求的queryParam和path传参。同时,还提及了过滤器在构建WebClient时的应用。
摘要由CSDN通过智能技术生成

可以使用WebFlux的WebClient类很方便的对网络请求进行代理处理操作,我想Spring Cloud Gateway中主要用的就是WebClient进行操作,这里简单介绍一下WebClient的用法,想要深度学习的话,看一下Spring Cloud Gateway源码准没错

一些用法

流数据

首先创建一个server端,用于产生一些网络服务:

  • Employee为员工类
  • EmployeeFaker为通过javafaker包生成的一些数据
  • EmployeeController生成一些服务,其中getEmployee为每一秒生成一个Employee对象,因为是流数据使用APPLICATION_STREAM_JSON_VALUE进行传输
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
class Employee {
   
    Long id;
    String name;
    Integer age;
    Integer salary;
    String phoneNumber;
    String address;
}

class EmployeeFaker extends Employee{
   
    private final Faker f = new Faker(Locale.CHINA);

    public EmployeeFaker (long i) {
   
        id = i;
        name = f.name().fullName();
        age = f.random().nextInt(20, 50);
        salary = f.number().numberBetween(1, 2000)*1000;
        phoneNumber = f.phoneNumber().cellPhone();
        address = f.address().streetName();
    }
}

@RestController
@RequestMapping("server")
class EmployeeController {
   

    @GetMapping(produces = MediaType.APPLICATION_STREAM_JSON_VALUE)
    public Flux<Employee> getEmployee() {
   
        return Flux
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值