Spring Cloud Gateway通过配置文件方式提供路由服务

一、Spring Cloud Gateway的路由匹配规则

Spring Gateway支持两种方式提供路由服务,其一是配置文件启用,其二则是通过代码达到目的,此文章是通过配置文件方式

二、使用步骤

1.通过配置文件方式提供路由服务

yml配置如下(示例):

c 复制代码
gateway:
      routes: #路由数组,指当请求满足什么样的条件转发到整个微服务中某个服务上
        - id: order_router #当前路由标识,要求唯一
          uri: lb://provider #请求最终要被转发的地址,lb指的是从nacos中按照名称获取微服务,并按照负载均衡策略
          order: 1 #路由的优先级,数字越小代表路由的优先级越高
          predicates: #断言(条件判断,返回值是boolean,转发请求要满足的条件)
            - Path=/order/route/** #如果为/route/**,那么对应StripPrefix=1
          filters:
            - StripPrefix=2 #在请求转发之前去掉一层路径,这里去掉orderservice

2.白名单

配置如下:

c 复制代码
  # 不校验白名单
  ignore:
    whites:
      - /auth/logout
      - /auth/login
      - /auth/register
      - /**/v2/api-docs #对应的例如:- Path=/order/route/**
      - /*/v2/api-docs #对应的例如:- Path=/route/**
      - /csrf
相关推荐
ffqws_13 小时前
Spring Boot:用JWT令牌和拦截器实现登录认证(含测试过程和关键注解讲解)
java·spring boot·后端
小兔崽子去哪了13 小时前
华为 IODT 设备接入
java·华为
摇滚侠13 小时前
Groovy 如何给集合中添加元素
java·开发语言·windows·python
无巧不成书021814 小时前
Java异常体系与处理全解:核心原理、实战用法、避坑指南
java·开发语言·异常处理·java异常处理体系
8Qi814 小时前
RabbitMQ高级篇:消息可靠性、幂等性与延迟消息
java·分布式·微服务·中间件·rabbitmq·springcloud
yxl_num14 小时前
Docker 完整部署一个包含 Spring Boot(依赖 JDK)、MySQL、Redis、Nginx 的整套服务
java·spring boot·docker
好家伙VCC14 小时前
**发散创新:基于Python的自动化恢复演练框架设计与实战**在现代软件系统运维中,
java·开发语言·python·自动化
程序员小崔日记14 小时前
我参加了第十七届蓝桥杯 Java B 组省赛,这套题你能撑到第几题?
java·算法·蓝桥杯大赛
大黄说说14 小时前
Go并发双雄:WaitGroup与Channel的抉择与协作
java·服务器·数据库
一只幸运猫.14 小时前
用户58856854055的头像[特殊字符]Spring Boot 多模块项目中 Parent / BOM / Starter 的正确分工
java·spring boot·后端