Spring Cloud 进阶之路 — Zuul的基本使用(路由转发、自定义路由、路由排除)
2019/02
17
15:02
1、新建项目,命名 api-geteway:
2、依赖选择 Eureka Discovery 和 Zuul:
下一步完成。
3、将application.properties 改为 application.yml ,然后配置如下:
spring:
application:
name: api-gateway
eureka:
client:
service-url:
default-Zone: http://localhost:8761/eureka
server:
port: 9000
记得启动类添加 @EnableZuulProxy
4、分别启动Eureka和api-gateway成功后,可以看到api-geteway 已注册到Eureka:
5、创建测试项目zuultest1,配置及Controller写一个测试api如下:
启动后,访问http://localhost:9000/zuultest1/test1 即可看到已路由成功:
地址的 zuultest1 表示注册至eureka 的服务名,test1 表示api路径。
6、可以自定义路由,如下配置:
zuul:
routes:
#自定义路由名称,可随意命名
test:
#自定义路由路径,此为自定义访问路径
path: /test/**
#自定义路由指向的服务Id
serviceId: zuultest1
访问 http://localhost:9000/test/test1 即可。
#简洁写法(服务Id: 自定义访问路径)
zuultest1: /testsimple/**
7、路由排除:
ignored-patterns:
- /testsimple/test1
则访问http://localhost:9000/testsimple/test1 时,就排除这个路径报404了:
完全配置:
zuul:
routes:
#自定义路由名称
#test:
#自定义路由路径
#path: /test/**
#自定义路由指向的服务Id
#serviceId: zuultest1
#简洁写法
zuultest1: /testsimple/**
ignored-patterns:
- /testsimple/test1
注意此时访问 http://localhost:9000/zuultest1/test1 还是可以访问的,因为上面的 testsimple 是自定义的路由,通过serviceId还是可以访问的,所以需要把 serviceId的路由也排除:
ignored-patterns:
- /testsimple/test1
- /zuultest1/test1
--转载请注明: https://www.macs.vip/archives/45