1. 程式人生 > 程式設計 >SpringCloud閘道器元件zuul例項解析

SpringCloud閘道器元件zuul例項解析

1.引入如下依賴

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>

2.啟動類新增如下註解 @EnableZuulProxy

@SpringBootApplication
@EnableZuulProxy
public class ApiZuulApplication {
  public static void main(String[] args) {
    SpringApplication.run(ApiZuulApplication.class,args);
  }}

原先訪問商品服務如下:

SpringCloud閘道器元件zuul例項解析

通過閘道器訪問:將訪問地址改為閘道器地址,並新增商品服務的服務名稱如下:

SpringCloud閘道器元件zuul例項解析

即完成統一完成由閘道器進行傳送

同時可以在啟動類中新增自定義路由對映

#/order-service/api/v1/order/save?user_id=2&product_id=1
#自定義路由對映
zuul:
 routes:
  order-service: /apizuul/order/**
  product-service: /apizuul/product/**
 #統一入口為上面的配置,其他入口忽略
 ignored-patterns: /*-service/**
 #處理http請求頭為空的問題
 sensitive-headers:

這樣就可以做到不向使用者暴露真實的請求路徑

SpringCloud閘道器元件zuul例項解析

zull預設會清除一些請求頭資訊:比如,cookie,解決方法---> 在配置檔案中新增配置

 #處理http請求頭為空的問題
 sensitive-headers:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。