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

相关推荐
GoppViper21 分钟前
uniapp中实现<text>文本内容点击可复制或拨打电话
前端·后端·前端框架·uni-app·前端开发
拾木20021 分钟前
常见的限流算法
java·开发语言
处处清欢26 分钟前
MaintenanceController
java·开发语言
不染_是非26 分钟前
Django学习实战篇四(适合略有基础的新手小白学习)(从0开发项目)
数据库·后端·学习·django·web
飞翔的佩奇38 分钟前
Java项目: 基于SpringBoot+mybatis+maven校园资料分享平台(含源码+数据库+答辩PPT+毕业论文)
java·spring boot·spring·毕业设计·maven·mybatis·校园资料分享平台
不平衡的叉叉树41 分钟前
Java对象列表属性映射工具类
java
缘友一世1 小时前
mac系统安装最新(截止2024.9.13)Oracle JDK操作记录
java·macos·oracle
跃ZHD1 小时前
BolckingQueue
java
西岭千秋雪_1 小时前
谷粒商城のElasticsearch
java·大数据·服务器·spring boot·elasticsearch·搜索引擎
bluebonnet271 小时前
【Rust练习】15.match 和 if let
开发语言·后端·rust