已有SpringBoot后端项目 升级为 芋道框架(yudao-cloud)指南

已有SpringBoot后端项目 升级为 芋道框架(yudao-cloud)指南



启动芋道框架
复制代码
 ###### 后端:[快速启动(后端项目)](https://cloud.iocoder.cn/quick-start/)
复制代码
 ###### 前端:[快速启动(后端项目)](https://cloud.iocoder.cn/quick-start/)
复制代码
 ###### 注意:

 * 必须要下载Redis和Nacaos,在后端的快速启动中有教程

 * 启动nacos的命令在教程中有误,没有进行集群部署的nacos要使用以下命令启动

   ```bash
   startup.cmd -m standalone
   ```
学习新建一个服务(学会了新建服务就可以进行旧业务的迁移了)
复制代码
 ###### 教程:[新建服务](https://cloud.iocoder.cn/module-new/)

 教程里面遇到几个问题,有的找到了原因,有的还没有找到,不过不影响后续,只是需要了解,对理解项目的整体架构有帮助
 * **不同包的路由请求不一样**

   这个是涉及到请求路由转发,实现方法请看这里 -\> [视频链接](https://wx.zsxq.com/dweb2/index/topic_detail/415814421482458)
 * **启动demo服务后,swagger文档使用knife4j打不开,并且产生报错(未解决但不影响)**

   前端报错

   后端报错
 * **教程中测试Test接口有误**

   就算模拟了授权和租户,根据之前提供的yml文件无法完成请求,所以这里会返回错误

   ```json
   {
       "code": 401,
       "data": null,
       "msg": "账号未登录"
   }
   ```

 * **修改gateway的配置文件,增加demo的路由之后,文档上说可以正常测试admin和app的Test接口了,但是注意:并不行!**

   因为没有关闭租户和添加Authorization字段,返回的结果仍然是不行!
复制代码
 ###### 修改 yudao-cloud 中的yml配置文件

 * **路由转发**

   修改gateway中的application.yaml(这个在新建服务的教程中有)

   添加**路由转发规则**,以便请求被正确转发

   添加**knife4j的路由转发规则**,这样就可以正常查看swagger文档了(\[knive4j的官方教程)
 * **关掉租户** ([SaaS 多租户【字段隔离】](https://cloud.iocoder.cn/saas-tenant/#_1-%E5%A4%9A%E7%A7%9F%E6%88%B7%E6%98%AF%E4%BB%80%E4%B9%88))

   修改system中的biz的application.yaml

   将租户关掉(如果你的旧项目中不涉及到租户,目前个人理解是每个微服务都需要修改这个地方来关掉租户,否则会报"请求的租户标识未传递,请进行排查"这个错误!)

   首先关闭租户功能,但是不够,还需要在忽略url中添加规则,把所有的url全部忽略!!!

   前端还有一个字段要改(.env中),字段名字和文档中不一样了,所以使用文档中的进行全局搜索是搜不到的
 * **Token认证**

   查看[功能权限](https://cloud.iocoder.cn/resource-permission/#_2-token-%E8%AE%A4%E8%AF%81%E6%9C%BA%E5%88%B6)文档,修改system中的biz的application-local.yaml

   理论上可以开启 Token 的模拟机制,并且设置Token 模拟机制的 Token 前缀,但是实操之后没用,尊重教程还是给改一下吧
复制代码
 ###### 在项目中添加业务需要的jar包

 * **要注意添加jar包的时候,很容易和芋道原有的maven架构产生依赖冲突(尤其是knive4j),需要进行依赖排除**

   ```xml
   <dependency>
       <groupId>xx.xx.xx</groupId>
       <artifactId>xx-xx-spring-boot-starter</artifactId>
       <version>1.0.19</version>
       <exclusions>
           <exclusion>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter</artifactId>
           </exclusion>
           <exclusion>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-autoconfigure</artifactId>
           </exclusion>
           <exclusion>
               <groupId>mysql</groupId>
               <artifactId>mysql-connector-java</artifactId>
           </exclusion>
           <exclusion>
               <groupId>com.github.xiaoymin</groupId>
               <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
           </exclusion>
       </exclusions>
   </dependency>
   ```
复制代码
 ###### 测试新建业务是否可以响应

 * **进行登录,获取token进行认证**

 * **测试app-test**

 * **测试admin-test**

   注意加上请求头的授权认证

   ```http
   Authorization:Bearer f4fb08efe73a4a98bb248da70f4cc514
   ```

相关推荐
陈随易11 小时前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·后端·程序员
IT_陈寒13 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰14 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
用户83562907805114 小时前
Python 实现 PDF 文件加密与解密方法
后端·python
小满zs15 小时前
Go语言第二章(小无相功)
后端·go
用户83562907805115 小时前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
karry_k15 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
妙码生花15 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
贰先生15 小时前
Xiuno BBS X版 用户封禁系统
后端
karry_k15 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端