本文主要是介绍springcloud gateway routes 路由规则,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- uri:请求将被转发到的地址
- predicates:匹配请求条件,决定哪些请求应该被路由
- filters:对请求进行处理和转换
- 所有 test.com 的请求都被路由到 uri 指定的目的地
spring:cloud:gateway:routes:- id: test-route # 唯一标识符uri: http://localhost:10001 # 路由目的地predicates: # 路由规则配置- Host=test.com** # 域名规则配置,所有 test.com 的请求都被路由到 uri 指定的目的地
- 所有以 /brand 开始的请求都被路由到 uri 指定的目的地
---
spring:cloud:gateway:routes:- id: test-route # 唯一标识符uri: http://localhost:10001 # 路由目的地predicates: # 路由规则配置- Path=/brand/** # 所有以 /brand 开始的请求都被路由到 uri 指定的目的地
- 发送请求为:/api/brand/abc,满足 predicates 的匹配规则,然后 filters 通过 StripPrefix 去掉第一个前缀,转换为 /brand/abc,转发到 http://localhost:10001
spring:cloud:gateway:routes:- id: test-routeuri: http://localhost:10001predicates:- Path=/api/brand/**filters:- StripPrefix=1 # 去掉请求的第一个前缀
- 发送请求为:/abc,满足 predicates 的匹配规则,然后 filters 通过 PrefixPath 添加前缀,转换为 /brand/abc,转发到 http://localhost:10001
spring:cloud:gateway:routes:- id: test-routeuri: http://localhost:10001predicates:- Path=/**filters:- PrefixPath=/brand # 添加前缀
StripPrefix 和 PrefixPath 一般不一起使用(一起使用也没问题)
StripPrefix 在前,PrefixPath 在后可以实现用户实际输入的路径无效,达到一定的保密效果
以下面配置为例,不管用户输入的是什么:/acs/ddd;/dsa/ddd…都会被转为 /brand/ddd
predicates:- Path=/**
filters:- Path=/api/brand/**- PrefixPath=/brand # 添加前缀
这篇关于springcloud gateway routes 路由规则的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!