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

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

相关推荐
小王同学666620 分钟前
Django 5 中实现文件上传功能
数据库·django·sqlite
小π军1 小时前
计算机网络
服务器·计算机网络
zuozewei1 小时前
《GB/T 47241-2026 - 虚拟电厂技术导则》国标解析.md
数据库
淮北4941 小时前
如何服务器和本地实现挂载
运维·服务器
木易 士心2 小时前
服务器构建指南:从选型、部署到高可用架构详解
运维·服务器·后端·架构
码农阿豪2 小时前
多台服务器还在反复输SSH?用EasyNode集中管理连接
运维·服务器·ssh
小张同学a.2 小时前
LAMP架构4——MySQL高可用
linux·运维·服务器·数据库·mysql·架构·负载均衡
敲代码的嘎仔2 小时前
从零搭建微服务:Spring Cloud Alibaba 全家桶踩坑实录(Nacos + OpenFeign + Gateway + Sentinel)
java·spring boot·spring·spring cloud·微服务·gateway·sentinel
Shadow(⊙o⊙)2 小时前
CMake第一章——1.0CMake命令行,拉取源码、平台兼容的门槛技术。
linux·运维·服务器
Xxtaoaooo12 小时前
工业 IoT 存储引擎选型:多模引擎在数据模型与存储设计上的取舍
数据库·物联网·dolphindb