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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章