spring url匹配工具类----AntPathMatcher

本文介绍了如何在Gateway授权认证中利用AntPathMatcher工具类进行URL匹配,特别是对于包含特定操作符的请求如/service/{id}/user-info的处理。主要应用场景包括登录授权时过滤登录请求和资源获取,以及在请求接口日志打印时排除文件上传和下载请求,避免文件流被异常修改。
摘要由CSDN通过智能技术生成

在gateway进行授权认证时,有些请求url需要过滤掉,针对带/service/{id}/user-info这种带操作符的请求,需要特殊处理----AntPathMatcher就上场啦
具体使用场景:
1.登录授权验证:过滤掉登录请求,一些资源获取请求
2.请求接口日志打印:过滤掉文件上传和下载的一些请求,requestBody里的文件流会被异常修改

具体代码:

请求body的二次写入

@Component
public class CachePostBodyFilter implements GlobalFilter, Ordered {
   

    private final List<HttpMessageReader<?>> messageReaders;

    public CachePostBodyFilter() {
   
        this.messageReaders = HandlerStrategies.withDefaults().messageReaders();
    }

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
   
        ServerHttpRequest request = exchange.getRequest();
        if (FilterUrl.excludeUrls(new FilterUrl(request.getPath().toString(), request.getMethod()))) {
   
            return chain.filter(exchange);
        }
        if (Objects
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值