1. 添加依赖
spring-cloud-starter-gateway
2. 添加启动类
@SpringBootApplication
@EnableDiscoveryClient
@EnableCircuitBreaker
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
【gateway|网关: springcloud-gateway 组件的使用】3. 在application.yml配置文件中配置gateway
格式:
spring:
cloud:
gateway:
routes: #路由
- id:#唯一, 用于识别
uri: #转发路径
predicates: #断言, 请求的匹配方式
filters: #过滤器
- id: no2
uri:
predicates:
filters:
示例:
server:
port: 8900
spring:
application:
name: gateway-server
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
namespace: c466ac9b-3146-477a-9e0a-6e2a37cc080c
group: 1st
username: nacos
password: nacos
gateway:
routes: #网关路由配置. 每一组路由包括: id(唯一标识), uri(转发目标服务器路径), predicates(断言,匹配方式), filters(过滤器)
- id: user-consumer#一般用 application name
#uri: http://localhost:8180 #指定ip和端口转发,用得少
uri: lb://user-consumer #指定服务转发(常用)
predicates:
- Path=/user/** #指定路径匹配方式,此例需路径前带有user
#- Path=/user/**,/token/**多个匹配方式
- Method=POST#请求方式匹配
#- After=2019-01-01T00:00:00+08:00[Asia/Shanghai]#匹配 2019年1月1日0点0分0秒之后的所有请求, -Before 为之前
#- Between=2019-01-01T00:00:00+08:00[Asia/Shanghai], 2019-07-01T00:00:00+08:00[Asia/Shanghai] #时间范围之内
#- Header=X-Request-Id, \d+#请求头匹配
#- Host=**.baidu.com#host域名匹配,www.baidu.com,md.baidu.com
#- Query=smile#请求参数匹配 ,eg:localhost:8080?smile=x&id=2
#- RemoteAddr=192.168.1.1/24 #ip地址匹配
filters:
- StripPrefix=1 #转发时, 将指定个数的路径去除,如果不设置filters, 则将整个路径全部转发
#第二个网关配置
- id: test-consumer
uri: lb://test-consumer
predicates:
- Path=/test/**
filters:
- StripPrefix=1
推荐阅读
- Java版顺序存储二叉树
- java|while循环示例(输出一批整数中的最大值和最小值)
- 体验了一把当架构师的感觉
- ide|IntelliJ IDEA上手这一篇就够了,从入门到上瘾
- Java面试|68道Redis面试题,20000字宝藏,赶紧收藏起来备用,2022年最新版
- Java基础总结|Java期末复习速成(四)
- java|InnerClass - 内部类 - java - 细节狂魔
- 大数据|关于sparksql操作hive,读取本地csv文件并以parquet的形式装入hive中
- 爬虫案例合集|抖音web直播数据采集