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