springboot整合gateway网关

我会带着你远行 2024-03-29 15:29 134阅读 0赞

2.3 搭建Gateway

本项目使用Spring Cloud Gateway作为网关,下边创建网关工程。

新建一个网关工程。

120a6ba90bea62796cb8756f6bdded22.png

工程结构

54c9b7ed305364b683042c79016eded3.png

添加依赖:







XML org.springframework.cloud spring-cloud-starter-gateway com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-logging org.springframework.boot spring-boot-starter-log4j2

配置网关的bootstrap.yaml配置文件







YAML#微服务配置 spring: application: name: gateway cloud: nacos: server-addr: 192.168.101.65:8848 discovery: namespace: ${spring.profiles.active} group: xuecheng-plus-project config: namespace: s p r i n g . p r o f i l e s . a c t i v e g r o u p : x u e c h e n g − p l u s − p r o j e c t f i l e − e x t e n s i o n : y a m l r e f r e s h − e n a b l e d : t r u e s h a r e d − c o n f i g s : − d a t a − i d : l o g g i n g − {spring.profiles.active} group: xuecheng-plus-project file-extension: yaml refresh-enabled: true shared-configs: - data-id: logging- spring.profiles.activegroup:xuechengplusprojectfileextension:yamlrefreshenabled:truesharedconfigs:dataid:logging{spring.profiles.active}.yaml group: xuecheng-plus-common refresh: true profiles: active: dev

在nacos上配置网关路由策略:

dad6ae0510982848537c4dd4adcd11c0.png

详细配置如下:







YAMLserver: port: 63010 # 网关端口 spring: cloud: gateway: # filter: # strip-prefix: # enabled: true routes: # 网关路由配置 - id: content-api # 路由id,自定义,只要唯一即可 # uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址 uri: lb://content-api # 路由的目标地址 lb就是负载均衡,后面跟服务名称 predicates: # 路由断言,也就是判断请求是否符合路由规则的条件 - Path=/content/ # 这个是按照路径匹配,只要以/content/开头就符合要求 # filters: # - StripPrefix=1 - id: system-api # uri: http://127.0.0.1:8081 uri: lb://system-api predicates: - Path=/system/ # filters: # - StripPrefix=1 - id: media-api # uri: http://127.0.0.1:8081 uri: lb://media-api predicates: - Path=/media/** # filters: # - StripPrefix=1

启动网关工程,通过网关工程访问微服务进行测试。

在http-client-env.json中配置网关的地址

f64c631a369b91d0332a47e6e4fd160d.png

使用httpclient测试课程查询 接口,如下:







JSON### 课程查询列表 POST { {gateway_host}}/content/course/list?pageNo=2&pageSize=1 Content-Type: application/json { “auditStatus”: “202002”, “courseName”: “” }

运行,观察是否可以正常访问接口 ,如下所示可以正常请求接口。







JSONhttp://localhost:63010/content/course/list?pageNo=2&pageSize=1 HTTP/1.1 200 OK transfer-encoding: chunked Content-Type: application/json Date: Sun, 11 Sep 2022 09:54:32 GMT { “items”: [ { “id”: 26, “companyId”: 1232141425, “companyName”: null, “name”: “spring cloud实战”, “users”: “所有人”, “tags”: null, “mt”: “1-3”, “mtName”: null, “st”: “1-3-2”, “stName”: null, “grade”: “200003”, “teachmode”: “201001”, “description”: “本课程主要从四个章节进行讲解: 1.微服务架构入门 2.spring cloud 基础入门 3.实战Spring Boot 4.注册中心eureka。”, “pic”: “https://cdn.educba.com/academy/wp-content/uploads/2018/08/Spring-BOOT-Interview-questions.jpg”, “createDate”: “2019-09-04 09:56:19”, “changeDate”: “2021-12-26 22:10:38”, “createPeople”: null, “changePeople”: null, “auditStatus”: “202002”, “status”: “203001”, “coursePubId”: null, “coursePubDate”: null } ], “counts”: 29, “page”: 2, “pageSize”: 1 }

发表评论

表情:
评论列表 (有 0 条评论,134人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Gateway

    一、为什么需要网关(理论) 1.1、gateway和zuul技术的区别 二、搭建网关服务 分析这个localhost:10010/user/1 路径: 三、路由断言工厂

    相关 GateWay 服务

    GateWay简介 ⽹关(翻译过来就叫做GateWay):微服务架构中的重要组成部分。局域⽹中就有⽹关这个概念,局域⽹接收或者发送数据出去通过这个⽹关,⽐如⽤ Vmwar

    相关 Gateway认证

    SpringCloud-Gateway网关组件 网关通常是在项目中为了简化前端调用逻辑,同时也简化内部服务之间调用的复杂度;具体作用就是转发服务,转发并接收所有内外部的客户