助力软件开发企业降本增效 PHP / java源码系统,只需一次付费,代码终身使用! 广告
通过网关模块 cloud-gateway-gateway9527 访问服务端模块 cloud-provider-payment8001。 <br/> 服务端模块 cloud-provider-payment8001 我已经提前构建好了,这里不再赘述。 <br/> 构建网关模块步骤如下: **1. 构建网关模块:cloud-gateway-gateway9527** **2. 在当前模块添加 gateway 依赖** ```xml <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <!-- spring-cloud-starter-gateway 包含 spring-boot-starter-webflux ,而 spring-cloud-starter-gateway 与 spring-boot-starter-web 是冲突的 ,所以 gateway 与 starter-web 二选一 --> <!-- <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-boot-starter-web</artifactId> <groupId>org.springframework.boot</groupId> </dependency> --> ... </dependencies> ``` **3. 在当前模块的`application.yml`中配置路由规则** ```yml server: port: 9527 spring: application: name: cloud-gateway-service cloud: gateway: routes: - id: payment_routh #路由的ID,没有固定规则但要求唯一,建议配合服务名 uri: http://localhost:8001 #匹配后提供服务的路由地址 predicates: - Path=/payment/get/** #断言,路径相匹配的进行路由 ``` **4. 网关模块构建完毕!** **5. 测试** 启动服务端模块 cloud-provider-payment8001、网关模块 cloud-gateway-gateway9527。 (1)直接访问 8001 模块:http://localhost:8001/payment/get/nameone/zhangsan 。 ``` serverPort:8001,name=zhangsan ``` (2)通过 9527 网关模块访问 8001 模块:http://localhost:9527/payment/get/nameone/zhangsan 。 ``` serverPort:8001,name=zhangsan ``` 可见通过网关模块 9527 也可以访问到服务模块 8001。