日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

面試官:SpringCloudGateway過濾器類型有哪些?

來源: 責編: 時間:2024-02-01 12:47:03 198觀看
導讀在 Spring Cloud Gateway 中,過濾器總共分為以下兩大類:局部過濾器:只作用于某一個路由(route)。全局過濾器:對所有的路由都有效。內置全局過濾器:Spring Cloud Gateway 自帶的 30+ 過濾器,詳情請訪問:https://docs.spring.io/

Ebo28資訊網——每日最新資訊28at.com

在 Spring Cloud Gateway 中,過濾器總共分為以下兩大類:Ebo28資訊網——每日最新資訊28at.com

  • 局部過濾器:只作用于某一個路由(route)。
  • 全局過濾器:對所有的路由都有效。
  1. 內置全局過濾器:Spring Cloud Gateway 自帶的 30+ 過濾器,詳情請訪問:https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gatewayfilter-factories
  2. 自定義全局過濾器:開發者自行實現的過濾器。

1、局部過濾器

Spring Cloud Gateway 中的局部過濾器配置如下:Ebo28資訊網——每日最新資訊28at.com

spring:  cloud:    gateway:      routes:        - id: userservice          uri: http://192.168.1.7:56628          predicates:            - Path=/user/**          filters:            - AddResponseHeader=gateway-flag, javacn.site

以上過濾器的含義是在輸出對象 Response 中添加 Header 信息,key 為“gateway-flag”,value 為“javacn.site”。Ebo28資訊網——每日最新資訊28at.com

PS:AddResponseHeader 也是 Gateway 內置過濾器之一。Ebo28資訊網——每日最新資訊28at.com

2、全局過濾器

全局過濾器會對當前網關中的所有路由都生效。Ebo28資訊網——每日最新資訊28at.com

(1)內置全局過濾器

Spring Cloud Gateway 中的內置全局過濾器配置如下:Ebo28資訊網——每日最新資訊28at.com

spring:  cloud:    gateway:      routes:        - id: userservice          uri: http://192.168.1.7:51627          predicates:          - Weight=group1,50        - id: userservice2          uri: http://192.168.1.7:56628          predicates:            - Weight=group1,50          filters:            - AddResponseHeader=gateway-flag, javacn.site      default-filters:        - AddResponseHeader=gateway-default-filters, www.javacn.site

其中的“default-filters”就是全局內置過濾器,它對所有的路由(route)有效,它的含義是在輸出對象 Response 中添加 Header 信息,key 為“gateway-default-filters”,value 為“www.javacn.site”。Ebo28資訊網——每日最新資訊28at.com

(2)自定義全局過濾器

Spring Cloud Gateway 中自定義全局過濾器的實現是,定義一個類,使用 @Component 注解將其存入 IoC 容器,然后再實現 GlobalFilter 接口,重寫 filter 方法,在 filter 中寫自己的過濾方法即可,具體實現如下:Ebo28資訊網——每日最新資訊28at.com

import org.springframework.cloud.gateway.filter.GatewayFilterChain;import org.springframework.cloud.gateway.filter.GlobalFilter;import org.springframework.core.Ordered;import org.springframework.http.HttpStatus;import org.springframework.http.server.reactive.ServerHttpRequest;import org.springframework.http.server.reactive.ServerHttpResponse;import org.springframework.stereotype.Component;import org.springframework.web.server.ServerWebExchange;import reactor.core.publisher.Mono;@Componentpublic class AuthFilter implements GlobalFilter, Ordered {    @Override    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {        // 得到 request、response 對象        ServerHttpRequest request = exchange.getRequest();        ServerHttpResponse response = exchange.getResponse();        // 業務邏輯代碼        if(request.getQueryParams().getFirst("auth")==null){            // 權限有問題返回,并結束執行            response.setStatusCode(HttpStatus.FORBIDDEN);            return response.setComplete();        }        // 此步驟正常,執行下一步        return chain.filter(exchange);    }    @Override    public int getOrder() {        // 此值越小越早執行        return 1;    }}

以上代碼是驗證請求參數中是否有“auth”參數,如果沒有的話就認為未登錄,調用“response.setComplete()”終止繼續執行,反之則認為已經登錄,可以執行后續流程了,使用“chain.filter(exchange)”來實現。Ebo28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-70404-0.html面試官:SpringCloudGateway過濾器類型有哪些?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Reducer 和 Context 實現簡單的 Redux

下一篇: Rust 值得關注的三個 Web 框架

標簽:
  • 熱門焦點
  • Mate60手機殼曝光 致敬自己的經典設計

    8月3日消息,今天下午博主數碼閑聊站帶來了華為Mate60的第三方手機殼圖,可以讓我們在真機發布之前看看這款華為全新旗艦的大致輪廓。從曝光的圖片看,Mate 60背后攝像頭面積依然
  • 7月安卓手機好評榜:三星S23Ultra好評率第一

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年7月1日至7月31日,僅限國內市場。第一名:三星Galaxy S23 Ultra好評率:95.71%在即將迎來新
  • 6月iOS設備好評榜:第一蟬聯榜首近一年

    作為安兔兔各種榜單里變化最小的那個,2023年6月的iOS好評榜和上個月相比沒有任何排名上的變化,僅僅是部分設備好評率的下降,長年累月的用戶評價和逐漸退出市場的老款機器讓這
  • 2023 年的 Node.js 生態系統

    隨著技術的不斷演進和創新,Node.js 在 2023 年達到了一個新的高度。Node.js 擁有一個龐大的生態系統,可以幫助開發人員更快地實現復雜的應用。本文就來看看 Node.js 最新的生
  • 分布式系統中的CAP理論,面試必問,你理解了嘛?

    對于剛剛接觸分布式系統的小伙伴們來說,一提起分布式系統,就感覺高大上,深不可測。而且看了很多書和視頻還是一臉懵逼。這篇文章主要使用大白話的方式,帶你理解一下分布式系統
  • 猿輔導與新東方的兩種“歸途”

    作者|卓心月 出品|零態LT(ID:LingTai_LT)如何成為一家偉大企業?答案一定是對&ldquo;勢&rdquo;的把握,這其中最關鍵的當屬對企業戰略的制定,且能夠站在未來看現在,即使這其中的
  • 品牌洞察丨服務本地,美團直播成效幾何?

    來源:17PR7月11日,美團App首頁推薦位出現&ldquo;美團直播&rdquo;的固定入口。在直播聚合頁面,外賣&ldquo;神槍手&rdquo;直播間、美團旅行直播間、美團買菜直播間等均已上線,同時
  • 消息稱小米汽車開始篩選交付中心:需至少120個車位

    IT之家 7 月 7 日消息,日前,有微博簡介為“汽車行業從業者、長三角一體化擁護者”的微博用戶 @長三角行健者 發文表示,據經銷商集團反饋,小米汽車目前
  • 國行版三星Galaxy Z Fold5/Z Flip5發布 售價7499元起

    2023年8月3日,三星電子舉行Galaxy新品中國發布會,正式在國內推出了新一代折疊屏智能手機三星Galaxy Z Fold5與Galaxy Z Flip5,以及三星Galaxy Tab S9
Top 主站蜘蛛池模板: 玉环县| 方正县| 柘城县| 鄢陵县| 泰和县| 曲沃县| 漯河市| 承德县| 正蓝旗| 大冶市| 青海省| 平陆县| 博湖县| 宝清县| 万盛区| 霍山县| 祁东县| 静海县| 津南区| 雷波县| 定南县| 浦江县| 广饶县| 晋州市| 桦南县| 那坡县| 疏勒县| 天峨县| 昆山市| 高州市| 萨嘎县| 十堰市| 张家港市| 孙吴县| 东丽区| 内乡县| 台江县| 泸州市| 吉首市| 黔西县| 镇平县|