网络技术分享
个人经验记录

Spring Cloud 进阶之路 -- Zuul的基本使用(路由转发、自定义路由、路由排除)

 

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

 

赞(0) 打赏
未经允许不得转载:老麻 » Spring Cloud 进阶之路 -- Zuul的基本使用(路由转发、自定义路由、路由排除)

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册