28.Gateway-网关过滤器

GatewayFilter是网关中提供的一种过滤器,可以多进入网关的请求和微服务返回的响应做处理。

GatewayFilter(当前路由过滤器,DefaultFilter)

spring中提供了31种不同的路由过滤器工厂。

filters针对部分路由的过滤器。

default-filters针对所有路由的默认过滤器。

java 复制代码
server:
  port: 10010 # 网关端口
spring:
  application:
    name: gateway # 服务名称
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos 地址
    gateway:
      routes:
        - id: user-service # 路由id,自定义,只要唯一即可
          uri: lb://user-service # 路由的目标地址lb是负载均衡,后面跟服务名称
          predicates: # 路由断言,判断请求是否符合路由的规则的条件
            - Path=/user/** # 这个是按照路径匹配,只要以/user/开头就符合要求
        - id: order-service
          uri: lb://order-service
          predicates:
            - Path=/order/**
          filters: # 过滤器,只对order-service的路由请求生效
            - AddRequestHeader=truth,xkj will be success. # 添加请求头
      default-filters: # 默认过滤器,会对所有的路由请求都生效
        - AddRequestHeader=common,everyone can be success.

@RequestHeader获取请求头中的数据

java 复制代码
@GetMapping("{orderId}")
    public Order queryOrderByUserId(@PathVariable("orderId") Long orderId, @RequestHeader("truth") String truth) {
        log.info("truth={}",truth);
        return orderService.queryOrderById(orderId);
    }
相关推荐
驭渊的小故事3 小时前
算法实战:滑动窗口、素数枚举与字符串模拟(三道经典题解)
java·算法
雪落漂泊3 小时前
Linux基本指令(下)
java·linux·服务器
Eloudy3 小时前
全文 - version.A - AMBA CHI Chip-to-Chip(C2C)
java·开发语言·数据库·gpu·chiplet
谁是谁的谁_bj3 小时前
Process Lasso进程调度/资源管理工具
java
秋名RG3 小时前
Java历代LTS版本新特性详解(代码增强版)
java·开发语言·python
李少兄3 小时前
深度剖析 Hutool ObjectUtil
java·开发语言
阿俊-全栈开发9 小时前
LikeShop 单商户SaaS商城分销模块二开:佣金计算与结算逻辑实现
java·开发语言·微服务·likeshop·likeshop开源商城·likeshop多商户
wuminyu13 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
蜗牛互联网15 小时前
WSL Containers GA:本地AI容器的生命周期、网络与治理验收
java·网络·人工智能·后端
龙亘川15 小时前
铭记英烈守初心,数字强基促服务:亘川智城退役军人服务系统的实践与价值
java·数据库·人工智能