小工具知识网

当前位置: 首页 > 行业知识 > SpringBoot整合GateWay(详细配置)

行业知识

SpringBoot整合GateWay(详细配置)

2026-11-12 21:21:09 来源:互联网转载

 

前言

        在Spring Boot中整合Spring Cloud Gateway是一个常见的需求,尤其是当需要构建一个微服务架构的应用程序时。Spring Cloud Gateway是Spring Cloud生态系统中的一个项目,它提供了一个API网关,用于处理服务之间的请求路由、安全、监控和限流等功能。

一、GateWay依赖

               org.springframework.cloud            spring-cloud-starter-gateway        

二、application.yml配置

server:  port: 9527spring:  application:    name: cloud-gateway  cloud:    gateway:      discovery:        locator:          enabled: true #开启从注册中心动态创建路由的功能,利用微服务名进行路由      routes:        - id: payment_routh #payment_route    #路由的ID,没有固定规则但要求唯一,建议配合服务名#          uri: http://localhost:8001          #匹配后提供服务的路由地址          uri: lb://CLOUD-PAYMENT-SERVICE #匹配后提供服务的路由地址          predicates:            - Path=/Payment/getPaymentById/**         # 断言,路径相匹配的进行路由        - id: payment_routh2 #payment_route    #路由的ID,没有固定规则但要求唯一,建议配合服务名#          uri: http://localhost:8001          #匹配后提供服务的路由地址          uri: lb://CLOUD-PAYMENT-SERVICE #匹配后提供服务的路由地址          predicates:            - Path=/Payment/lb/**         # 断言,路径相匹配的进行路由            - After=2020-11-20T17:07:24.352+08:00[Asia/Shanghai]#            - Cookie=username,longy            # - Before=2020-11-20T17:11:24.352+08:00[Asia/Shanghai]            #- Header=X-Request-Id, \d+  # 请求头要有X-Request-Id属性并且值为整数的正则表达式

 三、过滤器

@Component@Slf4jpublic class MyLogGatewayFilter implements GlobalFilter, Ordered {    @Override    public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) {        System.out.println("***********************************************" + new Date());        log.info("***********************************************" + new Date());        String uname = exchange.getRequest().getQueryParams().getFirst("uname");        if (uname == null) {            System.out.println("用户名为null,非法用户***********************o(╥﹏╥)o");            log.info("用户名为null,非法用户***********************o(╥﹏╥)o");            exchange.getResponse().setStatusCode(HttpStatus.NO_CONTENT);            return exchange.getResponse().setComplete();        }        return chain.filter(exchange);    }    @Override    public int getOrder() {        return 0;    }}

总结

        整合Spring Cloud Gateway到Spring Boot项目中需要添加相关依赖、配置路由规则、过滤器以及其他相关设置。这个过程涉及到多个步骤和配置文件,需要仔细规划和配置。一旦配置完成,Spring Cloud Gateway将为你的微服务架构提供强大的路由、安全性和监控功能。

上一篇:一婚二宝小说揭秘,背后的故事与惊喜,差异背后的情感纠葛!

下一篇:揭秘SSO单点登录机制,一键通行,保障网络安全无忧!