【Spring全家桶系列之核心篇 | Spring Cloud】 - 第七章 掌握Gateway核心技术,实现高效路由与转发

目录

前言

Spring Cloud Gateway 是一个基于 Spring Boot 的非阻塞 API 网关服务,它提供了动态路由、请求断言、过滤器等功能。

以下是关于 Spring Cloud Gateway 的示例:

示例

创建一个服务提供者

  1. 新建Module
    dependency选择Spring Web及Eureka Discovery Client。
    2. 打开pom.xml文件,修改如下:
    3. 定义服务
    在src/main/java下面的com.cherry.provider 下创建新的包controller(也可以不创建新的包,在当前provider包下),并新建下面的类:
java 复制代码
package com.cherry.provider1.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("product")
public class ProductController {
    @RequestMapping("list")
    public String list(){
        
        return "这是product列表";
    }
}
  1. 在resource中的配置文件中加入配置
java 复制代码
server.port=8009
spring.application.name=my_provider1
#注册中心的地址
eureka.client.service-url.defaultZone=http://localhost:8001/eureka/
  1. 修改启动类,如下:
java 复制代码
package com.cherry.provider1;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class Provider1Application {
    public static void main(String[] args) {       
        SpringApplication.run(Provider1Application.class, args);
    }
}
  1. 打开注册中心

创建网关

  1. 新建Module
    2. 修改pom.xml文件
    3. 修改配置文件application.properties,对网关进行配置
java 复制代码
server.port=9001
spring.application.name=gateway
spring.cloud.gateway.routes[0].id= gateway-service
spring.cloud.gateway.routes[0].uri= http://localhost:8002
spring.cloud.gateway.routes[0].predicates[0]= Path=/building/welcome
  1. 启动服务

创建common子项目

相关推荐
智码看视界3 小时前
Day46—Spring Cloud Gateway:路由/过滤器/限流全攻略
java·gateway·限流·微服务网关·过滤器链
BUG指挥官19 小时前
Sa-Token和Spring Security对比
java·后端·spring
geminigoth19 小时前
Spring AI Alibaba 入门开发一(备份)
java·人工智能·spring
xbgRS1 天前
spring整合mybaits
java·spring·mybatis
ruleslol1 天前
静态依赖注入 VS 动态依赖查询
spring
墨雨晨曦881 天前
Spring AI总结
java·人工智能·spring
用户3126874877201 天前
Spring Boot 异常处理到底怎么玩的?从 DispatcherServlet 到全局兜底的全链路拆解
spring
不才不才不不才1 天前
Spring 源码系列(17): HandlerMapping 与 HandlerAdapter 两大体系
java·后端·spring
(轻舟已过万重山)1 天前
第40章 Spring AI 实战:企业级 AI 应用架构
人工智能·spring·架构
过客随尘2 天前
网关扩容了,流量却还是打不过去?企业级 Spring Cloud Gateway 生产动态化部署实战
spring cloud·微服务·架构