gateway斷言配置詳解

一、Predicate - 斷?

?1、簡單用法

spring:cloud:gateway:routes:- id: after_routeuri: https://example.orgpredicates:- After=2017-01-20T17:42:47.789-07:00[America/Denver]

?2、自定義斷言

新建類VipRoutePredicateFactory,注意VipRoutePredicateFactory名字的前綴和yml文件的配置必須一致,即yml文件必須配置為前綴Vip

import jakarta.validation.constraints.NotEmpty;
import org.springframework.cloud.gateway.handler.predicate.AbstractRoutePredicateFactory;
import org.springframework.cloud.gateway.handler.predicate.GatewayPredicate;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.server.ServerWebExchange;import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;@Component
public class VipRoutePredicateFactory extends AbstractRoutePredicateFactory<VipRoutePredicateFactory.Config> {public VipRoutePredicateFactory() {super(Config.class);}@Overridepublic Predicate<ServerWebExchange> apply(Config config) {return new GatewayPredicate() {@Overridepublic boolean test(ServerWebExchange serverWebExchange) {// localhost/search?q=haha&user=leifengyangServerHttpRequest request = serverWebExchange.getRequest();String first = request.getQueryParams().getFirst(config.param);return StringUtils.hasText(first) && first.equals(config.value);}};}@Overridepublic List<String> shortcutFieldOrder() {return Arrays.asList("param", "value");}/*** 可以配置的參數*/@Validatedpublic static class Config {@NotEmptyprivate String param;@NotEmptyprivate String value;public @NotEmpty String getParam() {return param;}public void setParam(@NotEmpty String param) {this.param = param;}public @NotEmpty String getValue() {return value;}public void setValue(@NotEmpty String value) {this.value = value;}}
}

yml文件配置:

spring:cloud:gateway:routes:- id: after_routeuri: https://example.orgpredicates:- After=2017-01-20T17:42:47.789-07:00[America/Denver]- Vip=user,wangcj  #表示傳了參數user為wangcj的才滿足要求

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87847.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87847.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87847.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于大模型的尿毒癥全流程預測與診療方案研究報告

目錄 一、引言 1.1 研究背景與意義 1.2 研究目的與方法 1.3 國內外研究現狀 二、尿毒癥相關理論基礎 2.1 尿毒癥的定義、病因與發病機制 2.2 尿毒癥的癥狀與診斷標準 2.3 尿毒癥的治療方法概述 三、大模型技術原理與應用 3.1 大模型的基本概念與發展歷程 3.2 大模型…

裸金屬服務器租用平臺-青蛙云

企業對服務器性能與靈活性的要求與日俱增。青蛙云M-啟強裸金屬服務器租用平臺應運而生&#xff0c;為企業提供了一種兼具物理機性能和云計算彈性的解決方案。裸金屬服務器租用平臺的優勢?(一)高配性能&#xff0c;無虛擬化開銷?裸金屬服務器直接運行在物理硬件之上&#xff0…

[Terence Tao訪談] AlphaProof系統 | AI嗅覺 | 研究生學習 | 龐加萊猜想(高維) | 復雜問題簡單化

玩這些有趣的東西。通常情況下什么也得不到&#xff0c;你必須學會說&#xff1a;“好吧&#xff0c;再試一次&#xff0c;什么都沒發生&#xff0c;我會繼續前進。” DeepMind的AlphaProof系統 Q&#xff1a;DeepMind的AlphaProof系統是通過強化學習訓練的&#xff0c;使用的…

Aseprite工具入門教程4之動畫導入Unity

1、時間軸功能 &#xff08;1&#xff09;眼睛圖標 顯示/隱藏圖層圖層隱藏時無法繪制 &#xff08;2&#xff09;鎖定圖標 鎖定后無法移動或編輯圖層防止意外在錯誤圖層上繪制 &#xff08;3&#xff09;單元格圖標 兩個點代表幀分開&#xff0c;一個橢圓代表幀統一。分開就…

移動硬盤頻繁提示格式化?解決異常故障的正確方法

移動硬盤作為數據存儲的重要工具&#xff0c;不少人都習慣將照片、文檔、項目資料甚至整臺電腦的備份都放在里面。但有時&#xff0c;一件令人頭疼的事悄然發生&#xff1a; 插上硬盤&#xff0c;系統卻突然提示&#xff1a;“使用驅動器中的光盤之前需要將其格式化。是否要將…

Java泛型筆記

1 為什么需要泛型 Java5之前&#xff0c;是沒有泛型的。通過兩段代碼我們就可以知道為何我們需要泛型 public int addInt(int a, int b) {return a b; }public double addDouble(double a, double b) {return a b; } 實際開發中&#xff0c;經常有數值類型求和的需求&…

mysql 圖形化界面工具 DataGrip 安裝與配置

安裝地址&#xff1a; Download DataGrip: Cross-Platform IDE for Databases & SQLhttps://www.jetbrains.com/datagrip/download/?sectionwindows 添加數據源&#xff1a; 下載驅動文件&#xff1a;直接點擊下載即可 點擊測試連接&#xff1a;成功后點擊確定 顯示所有數…

linux下進程之間socket通信c程序例程

以下是一個基于 Linux 的 C 程序示例&#xff0c;展示了如何使用 Unix 域套接字&#xff08;Unix domain socket&#xff09;在不同進程之間互傳 JSON 消息。我們將實現一個簡單的客戶端 - 服務器模型&#xff0c;服務器監聽連接&#xff0c;客戶端連接到服務器并發送 JSON 消息…

高云GW5AT-LV60 FPGA圖像處理板|MIPI攝像頭幀率測試

高云GW5AT-LV60 FPGA圖像處理板套件中附帶了三個攝像頭模組&#xff0c;這三個模組真是各有千秋&#xff0c;接下來我通過簡單的一些測試來看看這幾個攝像頭的差異。 VS-SC130GS 、 VS-SC2210 這兩個模組是手動對焦&#xff0c;在使用時需要手動轉動鏡頭調整焦距&#xff0c;這…

機器學習在智能能源管理中的應用:需求響應與可再生能源整合

隨著全球能源需求的不斷增長和環境問題的日益突出&#xff0c;智能能源管理成為實現可持續發展的關鍵。智能能源管理系統通過整合先進的信息技術&#xff0c;如物聯網&#xff08;IoT&#xff09;、大數據和機器學習&#xff0c;能夠優化能源的分配和使用&#xff0c;提高能源效…

【網絡】Linux 內核優化實戰 - net.ipv4.tcp_timestamps

目錄 net.ipv4.tcp_timestamps 詳解1. 功能與作用2. 參數取值與含義3. 啟用/禁用的影響4. 配置方法5. 適用場景建議6. 注意事項總結 net.ipv4.tcp_timestamps 詳解 net.ipv4.tcp_timestamps 是 Linux 內核中一個與 TCP 協議相關的網絡參數&#xff0c;用于控制是否啟用 TCP 時…

第一個Flink 程序:詞頻統計 WordCount(流處理)

本文重點 本文將通過一個統計詞頻的小程序來看一下flink是如何對數據進行批處理的,需要聲明的是,一般我們使用Flink常常用于流式處理,即使是有界的數據,我們也將其看成是無界數據進行流式處理,所以批量處理并不是很常用,這里只是為了了解一下Flink是如何進行批處理的。 …

在 Kodi 中添加 AList 搭建 WebDav 的方法

文章目錄 一、問題背景二、使用方法&#xff08;一&#xff09;開啟 AList 的 WebDav&#xff08;二&#xff09;在 Kodi 添加 WebDav1. 打開設置跳轉到媒體設置添加指定類型的媒體庫2. 選擇添加媒體庫3. 添加新的網絡位置 一、問題背景 AList 是一種使用 Gin 和 Solidjs 編寫…

DAY 49

CBAM 是一種能夠集成到任何卷積神經網絡架構中的注意力模塊。它的核心目標是通過學習的方式&#xff0c;自動獲取特征圖在通道和空間維度上的重要性&#xff0c;進而對特征圖進行自適應調整&#xff0c;增強重要特征&#xff0c;抑制不重要特征&#xff0c;提升模型的特征表達能…

LLM:位置編碼詳解與實現

文章目錄 前言一、絕對位置編碼二、相對位置編碼三、旋轉位置編碼 前言 由于attetnion運算的特性&#xff0c;Transformer本身不感知順序&#xff0c;位置編碼是彌補這一缺陷的關鍵。 一、絕對位置編碼 絕對位置編碼的方式是通過將每個位置映射到一個高維空間中&#xff0c;該…

pytorch學習-10.卷積神經網絡(基礎篇)

2.線性模型 3.梯度下降算法 4.反向傳播(用pytorch算梯度) 5.用pytorch實現線性回歸 6.logistic回歸 7.處理多維特征的輸入 8.加載數據集 9.多分類問題 10.卷積神經網絡&#xff08;基礎篇&#xff09;_嗶哩嗶哩_bilibili 10.1卷積神經網絡 10.1.1 卷積神經網絡工作流程&…

ARMv8 創建1、2、3級頁表代碼與注釋

對下面的地址空間創建3級頁表 // level 1 table, 4 entries: // 0000 0000 - 3FFF FFFF, 1GB block, DDR // 4000 0000 - 7FFF FFFF, 1GB block, DDR // 8000 0000 - BFFF FFFF, 1GB block, DDR // C000 0000 - FFFF FFFF, point to level2 tabel // // level 2 table, 512 en…

DeepSeek-R1滿血版:硅基流動API或本地部署

大家好! 想在手機上部署 DeepSeek-R1 滿血版&#xff08;671B&#xff09;&#xff1f;我來手把手教你最靠譜的兩種方式&#xff01;滿血版模型參數高達 671 億&#xff0c;手機本地運行幾乎不可能&#xff0c;但通過「云服務 手機 App」的組合&#xff0c;你一樣能在手機上絲…

React 各顏色轉換方法、顏色值換算工具HEX、RGB/RGBA、HSL/HSLA、HSV、CMYK

&#x1f4d6; 簡介 基于 React Tailwind CSS 構建的專業顏色轉換工具&#xff0c;支持多種顏色格式的實時轉換。無論是設計師、開發者&#xff0c;都能在這個工具中找到所需的顏色轉換功能。 ? 核心功能 &#x1f3af; 多格式顏色轉換 HEX 格式: 支持 3 位縮寫 (#000, #…

開關電源抄板學習

一、實物 輸入220V&#xff0c;輸出12V5A 二、拍照并使用PS矯正 用卡尺測量下PCB的尺寸&#xff0c;在PS中作為畫布。 用相機拍下照片&#xff0c;導入到PS中&#xff0c;用拉伸工具對圖片進行矯正處理&#xff0c;并拉伸到和畫布一樣大小。 三、打開嘉立創EDA&#xff0c;導…