一、该问题的重现步骤是什么?
1.“研发工具”中创建好数据源,然后再bladex物联网平台中的“代码生成”功能,生成代码后并执行生成的sql脚本,在角色管理里配置角色绑定的菜单后,“设备管理”目录下可以看到“故障诊断”,但是页面是空的。前端生成的代码的url带有“/api/blade-diagnosis”前缀,后端生成代码没有“/blade-diagnosis”前缀。
二、你期待的结果是什么?实际看到的又是什么?
期待的结果:点击“代码生成”,并执行生成的blade_menu的sql脚本,配置角色管理里配置角色绑定的菜单后,页面上点击“故障诊断”,能调用后端接口,并在页面能出现对应的数据。
实际看到的:页面上点击“故障诊断”,未出现调用后端接口,页面也没有出现对应的数据。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
正在使用的产品:BladeX物联网平台
版本:1.1.0
操作系统:Windows11
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
springboot和springcloud两种调用方式不一样,你昨天问的代码生成在bladex,是springcloud,今天问的iot是springboot。
1. springcloud因为有gateway的存在,调用的时候会做一层转发,把服务名放在调用的controllerkey里,但是这个服务名又是虚拟加上的,不真实存在于controller里,所以cloud版本调用的时候,controller是不需要加上对应的服务名比如blade-test的。
2. 但是springboot没有网关,要调用的地址就是需要真实写在controller里的。
3. 又因为需要让cloud和boot两者的最终地址一致,所以springboot版本就需要把服务名比如blade-test,写到controller里了。
4. 而前端是始终都需要写blade-test的。
iot基于开源版的springblade,好像还没法加上hasServiceName,下版本加上,现在需要先自己设置一下controllerkey 。
路由页面地址看这里:https://www.bilibili.com/video/BV1Lm421H7ZL ,看完你应该就知道怎么排查了
找到原因了,前端生成的/vaildData拼错了,应该是/validData后,接口就正常了。
扫一扫访问 Blade技术社区 移动端