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

相关推荐
喜欢打篮球的普通人4 分钟前
rust高级特征
开发语言·后端·rust
Ling_suu21 分钟前
Spring——单元测试
java·spring·单元测试
ModelBulider22 分钟前
十三、注解配置SpringMVC
java·开发语言·数据库·sql·mysql
苹果酱056737 分钟前
C语言 char 字符串 - C语言零基础入门教程
java·开发语言·spring boot·mysql·中间件
csucoderlee44 分钟前
eclipse mat leak suspects report和 component report的区别
java·ide·eclipse
代码小鑫1 小时前
A032-基于Spring Boot的健康医院门诊在线挂号系统
java·开发语言·spring boot·后端·spring·毕业设计
bjxiaxueliang1 小时前
一文详解MacOS使用VSCode搭建SpringBoot+Gradle开发环境
spring boot·vscode·macos
训山1 小时前
4000字浅谈Java网络编程
java·开发语言·网络
VertexGeek1 小时前
Rust学习(四):作用域、所有权和生命周期:
java·学习·rust
豌豆花下猫1 小时前
REST API 已经 25 岁了:它是如何形成的,将来可能会怎样?
后端·python·ai