创建子工程
:::tips
在SpringCloud父工程下创建一个gateway子工程,注意指定父工程
:::
引入依赖
:::tips 在gateway工程中引入gateway依赖以及Nacos注册中心的起步依赖 :::
<!-- gateway依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!-- Nacos注册中心依赖 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
编写代码
创建启动类
@SpringBootApplicationpublic class GatewayApplication {public static void main(String[] args) {SpringApplication.run(GatewayApplication.class, args);}}
创建配置文件
:::tips 在gateway工程中添加配置,配置网关路由规则(通过路径匹配) :::
server:#配置服务端口port: 端口号spring:application:#配置服务名称name: gatewaycloud:nacos:#配置Nacos地址server-addr: localhost:8848#Gateway网关配置gateway:#网关路由配置routes:#自定义路由id,必须唯一- id: user-service#配置路由的目标地址,lb是负载均衡,后面填写服务名称uri: lb://userservice#路由断言,也就是判断请求是否符合路由的条件predicates:#按照请求路径匹配路由规则,请求路径以/user开头的请求就会被路由到配置的微服务中- Path=/user/**
在配置文件中配置的断言规则都是字符串,这些字符串会被PredicateFactory读取并处理,转变为路由判断的条件,例如Path=/user/**是按照路径匹配,这个规则是由PathRoutePredicateFactory类来处理的,像这样的断言工厂在SpringCloudGateway还有十几个:网关断言工厂
