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);
    }
相关推荐
程序员黑豆2 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
风流 少年3 小时前
Spring AI 2.0:Memory
java·后端·spring
码匠许师傅3 小时前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
小席是个热心肠4 小时前
AI相关的自我学习
java·人工智能·学习
数智化管理手记6 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
cfm_29146 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
鲸采云SRM采购管理系统7 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
0x538 小时前
Java网络编程(二)
java·服务器·网络
Flittly9 小时前
【雕虫大技】Agent 动态 Skill 供应链安全加固(三):输出校验与治理闭环实战
java·spring boot·spring
Poo_Chai9 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库