已有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
   ```

相关推荐
颜如玉17 分钟前
🤲🏻🤲🏻🤲🏻临时重定向一定要能重定向🤲🏻🤲🏻🤲🏻
java·http·源码
程序员爱钓鱼1 小时前
Go语言实战案例 — 工具开发篇:实现一个图片批量压缩工具
后端·google·go
程序员的世界你不懂2 小时前
【Flask】测试平台开发,新增说明书编写和展示功能 第二十三篇
java·前端·数据库
星空寻流年2 小时前
设计模式第一章(建造者模式)
java·设计模式·建造者模式
gb42152872 小时前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
曾经的三心草3 小时前
Python2-工具安装使用-anaconda-jupyter-PyCharm-Matplotlib
android·java·服务器
Metaphor6923 小时前
Java 高效处理 Word 文档:查找并替换文本的全面指南
java·经验分享·word
ChinaRainbowSea3 小时前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
舒一笑3 小时前
同步框架与底层消费机制解决方案梳理
后端·程序员
stormsha3 小时前
飞算JavaAI炫技赛电商系统商品管理模块的架构设计与实现
java·架构·鸿蒙系统