如何使用Spring Cloud Gateway实现一个最简单的API网关示例

  1. 创建第一个SpringBoot应用作为网关服务
json 复制代码
# 服务器端口
server.port=8080

# Spring Cloud Gateway 配置
spring.cloud.gateway.routes[0].id=demo1
spring.cloud.gateway.routes[0].uri=http://localhost:8081
spring.cloud.gateway.routes[0].predicates[0]=Path=/demo1

spring.cloud.gateway.routes[1].id=demo2
spring.cloud.gateway.routes[1].uri=http://localhost:8082
spring.cloud.gateway.routes[1].predicates[0]=Path=/demo2
xml 复制代码
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
  1. 创建第二个SpringBoot应用作为后端应用

    server.port=8081

xml 复制代码
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
	<version>3.3.5</version>
</dependency>
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>3.0.3</version>
</dependency>
java 复制代码
@RestController
@RequestMapping("/demo1")
public class Demo1Controller {
    @GetMapping()
    public String getInfo() {
        return "demo1 service is running";
    }
}
  1. Demo2同理,只是端口为8082
  2. 访问http://localhost:8080/demo1或者http://localhost:8080/demo2即可完成网关转发
相关推荐
我命由我123451 天前
Kotlin 开发 - lateinit 关键字
android·java·开发语言·kotlin·android studio·android-studio·android runtime
aXin_ya1 天前
微服务第八天 Sentinel 四种分布式事务模式
java·数据库·微服务
Halo_tjn1 天前
Java Set集合相关知识点
java·开发语言·算法
Linsk1 天前
Java和JavaScript的关系真是雷峰和雷峰塔的关系吗?
java·javascript·oracle
许彰午1 天前
我手写了一个 Java 内存数据库(二):B+ 树的插入与分裂
java·开发语言·面试
zhouwy1131 天前
Java 快速入门笔记:从基础语法到 Spring Boot 实战
java
极创信息1 天前
信创产品认证怎么做?信创产品测试认证的主要流程
java·大数据·数据库·金融·软件工程
SamDeepThinking1 天前
并发量就算只有2,该上锁还得上呀
java·后端·架构
Sam_Deep_Thinking1 天前
如何让订单系统和营销系统解耦
java·架构·系统架构
lzhdim1 天前
SQL 入门 12:SQL 视图:创建、修改与可更新视图
java·大数据·服务器·数据库·sql