<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Spring Cloud Gateway網(wǎng)關(guān)中的過濾器

      一、網(wǎng)關(guān)服務(wù)的搭建

      Spring Cloud Gateway 和 nacos 不一樣,我們必須自己搭建工程,首先創(chuàng)建一個新的 Spring Boot 項(xiàng)目

      <?xml version="1.0" encoding="UTF-8"?>
      <project xmlns="http://maven.apache.org/POM/4.0.0"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
          <parent>
              <artifactId>mall-parent</artifactId>
              <groupId>com.company</groupId>
              <version>1.0.0</version>
          </parent>
          <modelVersion>4.0.0</modelVersion>
      
          <artifactId>mall-gateway</artifactId>
      
          <properties>
              <maven.compiler.source>11</maven.compiler.source>
              <maven.compiler.target>11</maven.compiler.target>
          </properties>
          <dependencies>
              <!-- 網(wǎng)關(guān) -->
              <dependency>
                  <groupId>org.springframework.cloud</groupId>
                  <artifactId>spring-cloud-starter-gateway</artifactId>
              </dependency>
              <!--nacos discovery-->
              <dependency>
                  <groupId>com.alibaba.cloud</groupId>
                  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
              </dependency>
              <!--負(fù)載均衡-->
              <dependency>
                  <groupId>org.springframework.cloud</groupId>
                  <artifactId>spring-cloud-starter-loadbalancer</artifactId>
              </dependency>
          </dependencies>
          <build>
              <finalName>${project.artifactId}</finalName>
              <plugins>
                  <plugin>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-maven-plugin</artifactId>
                  </plugin>
              </plugins>
          </build>
      </project>
      

      在配置文件 application.yaml 中編寫路由規(guī)則

      server:
        port: 8080
      spring:
        application:
          name: gateway
        cloud:
          nacos:
            server-addr: 192.168.150.101:8848
          gateway:
            routes:
              - id: product                     # 路由規(guī)則id,自定義,唯一
                uri: lb://product-service       # 路由的目標(biāo)服務(wù),lb代表負(fù)載均衡,會從注冊中心拉取服務(wù)列表
                predicates:                     # 路由斷言,判斷當(dāng)前請求是否符合當(dāng)前規(guī)則,符合則路由到目標(biāo)服務(wù)
                  - Path=/product/**,/search/** # 這里是以請求路徑作為判斷規(guī)則
              - id: cart
                uri: lb://cart-service
                predicates:
                  - Path=/carts/**
                filters:                        # 在這里可以配置過濾器
                  - AddRequestHeader=key, value # 逗號之前是HTTP請求頭的key,逗號之后是value
              - id: user
                uri: lb://user-service
                predicates:
                  - Path=/users/**,/addresses/**
      

      最后,啟動項(xiàng)目即可

      二、GatewayFilter 路由過濾器

      @Component
      public class PrintAnyGatewayFilterFactory extends AbstractGatewayFilterFactory<Object> {
          @Override
          public GatewayFilter apply(Object config) {
              return new GatewayFilter() {
                  @Override
                  public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
                      // 獲取請求
                      ServerHttpRequest request = exchange.getRequest();
                      // 編寫過濾器邏輯
                      System.out.println("過濾器執(zhí)行了");
                      // 放行
                      return chain.filter(exchange);
                  }
              };
          }
      }
      

      注意:該類的名稱一定要以 GatewayFilterFactory 為后綴

      三、GlobalFilter 全局過濾器

      自定義GlobalFilter則簡單很多,直接實(shí)現(xiàn)GlobalFilter即可,而且也無法設(shè)置動態(tài)參數(shù)

      @Component
      public class PrintAnyGlobalFilter implements GlobalFilter, Ordered {
          @Override
          public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
              // 編寫過濾器邏輯
              System.out.println("未登錄,無法訪問");
              // 放行
              // return chain.filter(exchange);
      
              // 攔截
              ServerHttpResponse response = exchange.getResponse();
              response.setRawStatusCode(401);
              return response.setComplete();
          }
      
          @Override
          public int getOrder() {
              // 過濾器執(zhí)行順序,值越小,優(yōu)先級越高
              return 0;
          }
      }
      
      posted @ 2025-11-04 20:14  鹿鹿脖子長  閱讀(4)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产99青青成人A在线| 一本大道久久a久久综合| 亚洲国产欧美在线看片一国产| 久久综合精品成人一本| 国产精品人妻一码二码尿失禁 | 国色天香中文字幕在线视频| 国产福利精品一区二区| 精品无码av无码免费专区| 蜜臀91精品高清国产福利| 无码日韩精品一区二区三区免费| 国产精品中文字幕在线| 亚洲av成人免费在线| 亚洲大尺度无码无码专线| 国产亚洲精品第一综合| 久久久久四虎精品免费入口| 无码日韩精品一区二区三区免费| 精品偷拍一区二区三区| 久久久久久亚洲精品成人| 婷婷色婷婷深深爱播五月| 国产精品白浆在线观看免费 | 日本一区二区中文字幕久久| 2021国产成人精品久久| 国产成人综合在线观看不卡| 四川丰满少妇无套内谢| 久久精品第九区免费观看| 国产精品免费看久久久| av中文字幕在线二区| 国产精品福利自产拍在线观看| 精品国产91久久粉嫩懂色| 精品无码国产自产拍在线观看蜜| 性色在线视频精品| 亚洲精品一区二区三区不| 少妇无码太爽了在线播放| 国产一区二区日韩在线| 天天躁久久躁日日躁| 亚洲另类激情专区小说图片| 亚洲成av人片无码迅雷下载| 国产69精品久久久久99尤物| 精品国产午夜福利在线观看 | 亚洲AV无码东方伊甸园| 日韩人妻无码精品久久|