使用腾讯AI工具帮我配置Gateway路由

2024-07-31 20:43:20 浏览数 (2)

使用腾讯AI工具帮我配置Gateway路由

一、介绍

今天在搭建自己的项目时,想改变一下工程结构,将以前的SpringBoot单体结构变成SpirngCloud微服务结构

目前我有两个服务,分别是web-baseweb-mq

已经使用上了Nacos配置中心,但这个Gateway网关,以前是真的没有使用过

从网上找一大堆文章,效果都不怎么好,卡在了Gateway配置路由上,翻了好多篇文章都没有解决

正好偶然间,群里收到腾讯云AI插件工具的信息,在好奇心的驱使下,试了这个工具

二、安装

IDEA中, setting->plugins->marketplace搜索Tencent Cloud AI Code Assistant,点击安装即可

在VSCode中也有这个插件

好的,安装重启后,进行登录,点击右边栏的AI工具,提问试试效果

介绍十分的干练整洁明了,后面再试试它的代码能力

三、使用

1)提问使用

如何在配置文件中,指定Path断言呢,我有两个服务web-base,web-mq 如果使用/web/base,以及/web/mq的前缀方式,达成路由

给出了答案,我直接一个copy进入自己的配置文件;

我知道uri还有一种lb://的写法,但不太确定,于是我又向其提问

在配置文件中,您可以使用 YAML 格式的 Path 断言来指定路由规则。以下是一个示例,演示如何使用 /web/base 和 /web/mq 作为前缀来路由请求到不同的服务,uri需要使用lb:的方式

好的,配置十分明朗了,我们copy过来改一下

代码语言:javascript复制
 spring:
   cloud:
     gateway:
       routes:
         - id: web-base-route
           uri: lb://web-base
           predicates:
             - Path=/web/base/**
         - id: web-mq-route
           uri: lb://web-mq
           predicates:
             - Path=/web/mq/**

2)测试

启动程序后,我写了一个http文件用来验证

代码语言:javascript复制
 ### 测试首页
 GET http://localhost:8088/test/index
 ​
 ### 测试首页-路由
 GET http://localhost:8080/web/base/test/index

分别是直接访问的,和经过Gateway

首先验证一下,直接访问的

再试试,经过Gateway

3)解决

怎么回事,为什么会404呢,没办法报错信息也没有,只能在DispatcherServletdoGet()方法上打一个断点

结果一看,好家伙,请求的路径是/web/base/test/index

那怎么能行,web-base服务应该没有/web/base前缀的,这样才行

于是我又问了腾讯云AI工具

当我用/web/base/test/index去请求gateway,路由到服务web-base没有问题,但请求404了,url是/web/base/test/index,这样是错误的;我希望路由成功后,他的路径是/test/index

给出来了回答,我们再试一下

代码语言:javascript复制
 spring:
   cloud:
     gateway:
       routes:
         - id: web-base-route
           uri: lb://web-base
           predicates:
             - Path=/web/base/**
           filters:
             - StripPrefix=2
         - id: web-mq-route
           uri: lb://web-mq
           predicates:
             - Path=/web/mq/**
           filters:
             - StripPrefix=2

重新发起请求,查看结果

四、最后

以上就是我使用腾讯云AI工具,帮我解决了一个问题,同时我又很好奇其他的断言和过滤是怎么样的

有了这个AI工具,以后代码开发效率翻倍

0 人点赞