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

當(dāng)前位置:首頁 > 科技  > 軟件

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

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

0ax28資訊網(wǎng)——每日最新資訊28at.com

在 Spring Cloud Gateway 中,過濾器總共分為以下兩大類:0ax28資訊網(wǎng)——每日最新資訊28at.com

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

1、局部過濾器

Spring Cloud Gateway 中的局部過濾器配置如下:0ax28資訊網(wǎng)——每日最新資訊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”。0ax28資訊網(wǎng)——每日最新資訊28at.com

PS:AddResponseHeader 也是 Gateway 內(nèi)置過濾器之一。0ax28資訊網(wǎng)——每日最新資訊28at.com

2、全局過濾器

全局過濾器會對當(dāng)前網(wǎng)關(guān)中的所有路由都生效。0ax28資訊網(wǎng)——每日最新資訊28at.com

(1)內(nèi)置全局過濾器

Spring Cloud Gateway 中的內(nèi)置全局過濾器配置如下:0ax28資訊網(wǎng)——每日最新資訊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”就是全局內(nèi)置過濾器,它對所有的路由(route)有效,它的含義是在輸出對象 Response 中添加 Header 信息,key 為“gateway-default-filters”,value 為“www.javacn.site”。0ax28資訊網(wǎng)——每日最新資訊28at.com

(2)自定義全局過濾器

Spring Cloud Gateway 中自定義全局過濾器的實(shí)現(xiàn)是,定義一個類,使用 @Component 注解將其存入 IoC 容器,然后再實(shí)現(xiàn) GlobalFilter 接口,重寫 filter 方法,在 filter 中寫自己的過濾方法即可,具體實(shí)現(xiàn)如下:0ax28資訊網(wǎng)——每日最新資訊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();        // 業(yè)務(wù)邏輯代碼        if(request.getQueryParams().getFirst("auth")==null){            // 權(quán)限有問題返回,并結(jié)束執(zhí)行            response.setStatusCode(HttpStatus.FORBIDDEN);            return response.setComplete();        }        // 此步驟正常,執(zhí)行下一步        return chain.filter(exchange);    }    @Override    public int getOrder() {        // 此值越小越早執(zhí)行        return 1;    }}

以上代碼是驗(yàn)證請求參數(shù)中是否有“auth”參數(shù),如果沒有的話就認(rèn)為未登錄,調(diào)用“response.setComplete()”終止繼續(xù)執(zhí)行,反之則認(rèn)為已經(jīng)登錄,可以執(zhí)行后續(xù)流程了,使用“chain.filter(exchange)”來實(shí)現(xiàn)。0ax28資訊網(wǎng)——每日最新資訊28at.com

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

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

上一篇: Reducer 和 Context 實(shí)現(xiàn)簡單的 Redux

下一篇: Rust 值得關(guān)注的三個 Web 框架

標(biāo)簽:
  • 熱門焦點(diǎn)
  • Golang 中的 io 包詳解:組合接口

    io.ReadWriter// ReadWriter is the interface that groups the basic Read and Write methods.type ReadWriter interface { Reader Writer}是對Reader和Writer接口的組合,
  • 深度探索 Elasticsearch 8.X:function_score 參數(shù)解讀與實(shí)戰(zhàn)案例分析

    在 Elasticsearch 中,function_score 可以讓我們在查詢的同時對搜索結(jié)果進(jìn)行自定義評分。function_score 提供了一系列的參數(shù)和函數(shù)讓我們可以根據(jù)需求靈活地進(jìn)行設(shè)置。近期
  • 只需五步,使用start.spring.io快速入門Spring編程

    步驟1打開https://start.spring.io/,按照屏幕截圖中的內(nèi)容創(chuàng)建項(xiàng)目,添加 Spring Web 依賴項(xiàng),并單擊“生成”按鈕下載 .zip 文件,為下一步做準(zhǔn)備。請?jiān)谶M(jìn)入步驟2之前進(jìn)行解壓。圖
  • 一篇文章帶你了解 CSS 屬性選擇器

    屬性選擇器對帶有指定屬性的 HTML 元素設(shè)置樣式。可以為擁有指定屬性的 HTML 元素設(shè)置樣式,而不僅限于 class 和 id 屬性。一、了解屬性選擇器CSS屬性選擇器提供了一種簡單而
  • 微軟邀請 Microsoft 365 商業(yè)用戶,測試視頻編輯器 Clipchamp

    8 月 1 日消息,微軟近日宣布即將面向 Microsoft 365 商業(yè)用戶,開放 Clipchamp 應(yīng)用,邀請用戶通過該應(yīng)用來編輯視頻。微軟于 2021 年收購 Clipchamp,隨后開始逐步整合到 Microsof
  • 中國家電海外掘金正當(dāng)時|出海專題

    作者|吳南南編輯|胡展嘉運(yùn)營|陳佳慧出品|零態(tài)LT(ID:LingTai_LT)2023年,出海市場戰(zhàn)況空前,中國創(chuàng)業(yè)者在海外紛紛摩拳擦掌,以期能夠把中國的商業(yè)模式、創(chuàng)業(yè)理念、戰(zhàn)略打法輸出海外,他們依
  • 品牌洞察丨服務(wù)本地,美團(tuán)直播成效幾何?

    來源:17PR7月11日,美團(tuán)App首頁推薦位出現(xiàn)&ldquo;美團(tuán)直播&rdquo;的固定入口。在直播聚合頁面,外賣&ldquo;神槍手&rdquo;直播間、美團(tuán)旅行直播間、美團(tuán)買菜直播間等均已上線,同時
  • 東方甄選單飛:有些鳥注定是關(guān)不住的

    文/彭寬鴻編輯/羅卿東方甄選創(chuàng)始人俞敏洪帶隊(duì)的&ldquo;7天甘肅行&rdquo;直播活動已在近日順利收官。成立后一年多時間里,東方甄選要脫離抖音自立門戶的傳聞不絕于耳,&ldquo;7
  • 阿里瓴羊One推出背后,零售企業(yè)迎數(shù)字化新解

    作者:劉曠近年來隨著數(shù)字經(jīng)濟(jì)的高速發(fā)展,各式各樣的SaaS應(yīng)用服務(wù)更是層出不窮,但本質(zhì)上SaaS大多局限于單一業(yè)務(wù)流層面,對用戶核心關(guān)切的增長問題等則沒有提供更好的解法。在Saa
Top 主站蜘蛛池模板: 松潘县| 彰化县| 玛沁县| 称多县| 稷山县| 旬邑县| 佛坪县| 泌阳县| 柘荣县| 资阳市| 长垣县| 诸城市| 桓仁| 乌兰县| 凌云县| 黄浦区| 新巴尔虎左旗| 浑源县| 大兴区| 新乡市| 天峻县| 中宁县| 台东县| 丰原市| 元江| 买车| 弥渡县| 瑞丽市| 马尔康县| 靖边县| 阳东县| 桓仁| 万宁市| 灵武市| 饶平县| 安康市| 肥东县| 邵阳县| 景泰县| 二连浩特市| 宕昌县|