首页 > 其他分享 >gateway通过过滤器修改uri

gateway通过过滤器修改uri

时间:2024-08-12 12:41:17浏览次数:5  
标签:uri springframework filter org 过滤器 import gateway cloud

背景:

有时要根据不同的请求头或者请求参数动态修改路由的uri

实现方案:

使用全局过滤器(很关键)

https://blog.csdn.net/netyeaxi/article/details/115287385
package com.tl.gateway.filter;

import java.net.URI;
import java.net.URISyntaxException;

import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.cloud.gateway.filter.RouteToRequestUrlFilter;
import org.springframework.cloud.gateway.support.ServerWebExchangeUtils;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;

import reactor.core.publisher.Mono;

@Component
public class Myf implements GlobalFilter, Ordered {

    @Override
    public int getOrder() {
        return RouteToRequestUrlFilter.ROUTE_TO_URL_FILTER_ORDER + 1;
        // return 0;
    }

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {

        try {
            exchange.getAttributes().put(ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR, new URI("https://www.baidu.com"));
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }

        Mono<Void> ret = chain.filter(exchange);
        exchange.getResponse().getHeaders();
        return ret;
    }
}

 

标签:uri,springframework,filter,org,过滤器,import,gateway,cloud
From: https://www.cnblogs.com/wujf/p/18354709

相关文章

  • 4.5.Switch Security
    switchsecurity(交换安全)maclayerattacks(mac地址攻击)mac地址泛红变换mac让交换机不停学习,占满mac地址表,其他pc发送报文就进行泛红。portsecurity(端口安全)1未授权mac地址2mac地址个数限制(默认1个)3采取措施switch(config-if)#switchportport-security[maximumvalue]......
  • 第五天2cisco_security_device_manger_appliance_
    asdm视窗化管理把asdm加载进asa的flash必须支持des或3desie浏览器支持java。不能阻止弹出窗口。配置向导设置Pre-configureFirewallnowthroughinteractiveprompts[yes]?(预配置防火墙现在通过交互式提示符)FirewallMode[Routed]:Enablepassword[<usecurrent......
  • 论文笔记:GeoShapley: A Game Theory Approach toMeasuring Spatial Effects in Machin
    (GeoShapley:机器学习模型中测量空间效应的博弈论方法)话题点:geoshapley、XAI、空间效应、非线性一、引言机器学习和人工智能(AI)越来越多地用于模拟地理空间现象,在各个领域都有很好的表现。可解释人工智能(XAI)领域的最新进展为解释黑箱机器学习提供了一种解决方案。排列特征......
  • grpc-gateway:grpc转换为http协议对外提供服务
    使用grpc的优点很多,二进制的数据可以加快传输速度,基于http2的多路复用可以减少服务之间的连接次数,和函数一样的调用方式也有效的提升了开发效率。不过使用grpc也会面临一个问题,我们的微服务对外一定是要提供Restful接口的,如果内部调用使用grpc,在某些情况下要同时提供一个功能的两......
  • Chainbase Recurit
    WearelookingforanexperiencedBackendEngineertojoinourDataPlatformteam.AsaBackendEngineer,youwillberesponsiblefordevelopingandmaintainingthecriticalbackendservicesthatsupportourdataplatforminfrastructure.JobResponsibilit......
  • Rust使用Tauri开发GUI程序——Hello World
    首先确保计算机安装好了Rust环境  验证Rust安装:rustc--version   验证Cargo安装:cargo--version然后安装tauri-cli包(用以构建Tauri框架的应用程序),cargoinstalltauri-cli安装完成后,使用tauri-cli来写一个GUI程序(Helloworld版本)cargocreate-tauri-app恭喜,你已经......
  • 过滤器、拦截器、AOP、ControllerAdvcie执行顺序对比
    过滤器、拦截器、AOP、ControllerAdvcie执行顺序对比0.执行顺序过滤器➡拦截器➡AOP➡ControllerAdvice➡Controller没有异常的情况下,执行顺序如下:有异常的情况下,执行顺序如下:tip:当产生异常后,无论是否有ControllerAdvice处理,HandlerInterceptor都不会执行post......
  • 数值稳定性:Fixing NaN Gradients during Backpropagation in TensorFlow
    数值稳定性:FixingNaNGradientsduringBackpropagationinTensorFlow......
  • [JOISC 2023 Day3] Tourism
    虚树大小可以从两个角度进行思考:最小斯坦纳树大小,或者,子树内至少有一个标记点的点的数量减去虚树上边的点的数量。前者的优点是简洁,后者的优点是不依赖dfn序的排序。这道题在利用后者的同时,将赋值看作了颜色段,用树链剖分保证了颜色段总数为\(O(n\logn)\),利用了odt。#inc......
  • 三、Tauri 使用(各种设置)
    1.开启所有API使用{"tauri":{ "allowlist":{  "all":true, }}}2.关闭鼠标右键window.addEventListener('contextmenu',(e)=>e.preventDefault(),false);​//在生成环境关闭鼠标右键if(import.meta.env.MODE==="......