day02-Gateway(网关)

文章目录

Gateway网关

Gateway介绍



网关搭建



路由断言工厂



路由过滤器





全局过滤器(自定义过滤器)



java 复制代码
package cn.itcast.gateway;

// @Order(-1)
@Component
public class AuthorizeFilter implements GlobalFilter, Ordered {
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        // 1.获取请求参数
        ServerHttpRequest request = exchange.getRequest();
        MultiValueMap<String, String> params = request.getQueryParams();
        // 2.获取参数中的 authorization 参数
        String auth = params.getFirst("authorization");
        // 3.判断参数值是否等于 admin
        if ("admin".equals(auth)) {
            // 4.是,放行
            return chain.filter(exchange);
        }
        // 5.否,拦截
        // 5.1.设置状态码
        exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);
        // 5.2.拦截请求
        return exchange.getResponse().setComplete();
    }
    
    //越小优先级越高
    @Override
    public int getOrder() {
        return -1;
    }
}

过滤器执行顺序




跨域问题

CORS:浏览器问服务器可不可以跨域 服务器同意就可以跨域。

CORS请求方式是:options

'/\*\*' :代表拦截哪些请求 **是拦截一切请求

相关推荐
pixcarp2 小时前
知识库系统的内容资产闭环怎么设计
服务器·数据库·后端·golang
JosieBook2 小时前
【数据库】时序预测能力的分级进化:TimechoAI如何让每一类用户都能精准预见未来
java·开发语言·数据库
吴声子夜歌4 小时前
SQL经典实例——使用多张表
数据库·sql
莫名的好感°4 小时前
手机RAR解压怎么选?2026年二季度四款产品问答
服务器·网络·智能手机
倔强的石头_5 小时前
《Kingbase护城河》——深度解密数据库行锁冲突与等待事件架构
数据库
IT策士5 小时前
Redis 从入门到精通:性能调优与多语言客户端对比
数据库·redis·缓存
Bert.Cai6 小时前
Oracle INSTR函数详解
数据库·oracle
Cinema KI6 小时前
Linux第一个系统程序-进度条
linux·服务器
茉莉玫瑰花茶8 小时前
综合案例 - AI 智能租房助手 [ 5 ]
服务器·数据库·人工智能·python·ai
ywl4708120878 小时前
jwt生产token,简单版helloworld
java·数据库·spring