一. pom配置
首先SpringCloud和nacos依赖,这里不再展示。然后导入gateway坐标:
<!-- spring-cloud-starter-gateway -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
二. 配置yml文件
示例:
server:
port: 8080
spring:
application:
#服务名
name: api-gateway-nacos
cloud:
nacos:
discovery:
server-addr: ip:8848 # 配置nacos 服务端地址
gateway:
routes:
- id: server-jwt #server-jwt模块的应用名
uri: lb://server-jwt
predicates:
- Path=/jwt/** #后续访问直接访问网关ip地址:网关的端口/jwt/接口名
filters:
- StripPrefix=1 #转发之前去掉1层路径
三. 启动类
@SpringBootApplication
@EnableDiscoveryClient
public class ApiGatewayApplication {
public static void main(String[] args) {
SpringApplication.run(ApiGatewayApplication.class,args);
}
}
四. 问题汇总
4.1 springboot gateway与spring-boot-starter-web冲突问题解决
测试发现spring-cloud-starter-gateway中,整合了其他服务所需要的spring-boot-starter-web包,只需要在在父pom文件中引入spring-cloud-starter-gateway即可
。