Api
模块可以集中管理后端 Api 调用,把 Api 调用包装为Api资源,从而方便在任何模块访问
创建Api
1. Cli命令
bash
$ zova :create:bean api test --module=demo-student2. 菜单命令
TIP
右键菜单 - [模块路径]: Zova Create/Api
依据提示输入 api 的名称,比如test,VSCode 插件会自动添加 api 的代码骨架
定义Api
src/module/demo-student/src/api/test.ts
diff
@Api()
class ApiTest {
echo() {
+ return this.$fetch.get<any, ApiTestEchoResult>('/test/echo');
}
}关于$fetch的用法,参见:Fetch
使用Api
可以通过 Scope 实例直接访问 Api
diff
class ControllerTest {
async test() {
+ const res = await this.scope.api.test.echo();
}
}跨模块使用Api
diff
+ import { ScopeModuleDemoStudent } from 'zova-module-demo-student';
class ControllerOther {
+ @UseScope()
+ $$scopeDemoStudent: ScopeModuleDemoStudent;
async test() {
+ const res = await this.$$scopeDemoStudent.api.test.echo();
}
}