赞
踩
教程里面遇到几个问题,有的找到了原因,有的还没有找到,不过不影响后续,只是需要了解,对理解项目的整体架构有帮助
不同包的路由请求不一样
这个是涉及到请求路由转发,实现方法请看这里 -> 视频链接
启动demo服务后,swagger文档使用knife4j打不开,并且产生报错(未解决但不影响)
前端报错
后端报错
教程中测试Test接口有误
就算模拟了授权和租户,根据之前提供的yml文件无法完成请求,所以这里会返回错误
{
"code": 401,
"data": null,
"msg": "账号未登录"
}
修改gateway的配置文件,增加demo的路由之后,文档上说可以正常测试admin和app的Test接口了,但是注意:并不行!
因为没有关闭租户和添加Authorization字段,返回的结果仍然是不行!
路由转发
修改gateway中的application.yaml(这个在新建服务的教程中有)
添加路由转发规则,以便请求被正确转发
添加knife4j的路由转发规则,这样就可以正常查看swagger文档了([knive4j的官方教程)
关掉租户(SaaS 多租户【字段隔离】)
修改system中的biz的application.yaml
将租户关掉(如果你的旧项目中不涉及到租户,目前个人理解是每个微服务都需要修改这个地方来关掉租户,否则会报"请求的租户标识未传递,请进行排查"这个错误!)
首先关闭租户功能,但是不够,还需要在忽略url中添加规则,把所有的url全部忽略!!!
前端还有一个字段要改(.env中),字段名字和文档中不一样了,所以使用文档中的进行全局搜索是搜不到的
Token认证
查看功能权限文档,修改system中的biz的application-local.yaml
理论上可以开启 Token 的模拟机制,并且设置Token 模拟机制的 Token 前缀,但是实操之后没用,尊重教程还是给改一下吧
要注意添加jar包的时候,很容易和芋道原有的maven架构产生依赖冲突(尤其是knive4j),需要进行依赖排除
<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
注意加上请求头的授权认证
Authorization:Bearer f4fb08efe73a4a98bb248da70f4cc514
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。