Skip to content

Openapi SDK

Zova uses openapi-typescript based on Swagger/Openapi metadata to automatically generate frontend client SDKs to provide a smooth Typescript development experience

Zova adopts a modular system, so the Swagger/Openapi metadata provided by the backend can be split into multiple parts according to business needs and managed independently in different modules

Initialize the Openapi config

First, initialize the Openapi config in the module demo-student

1. CLI command

bash
$ zova :openapi:config demo-student

2. Menu command

TIP

Context Menu - [Module Path]: Zova Tools/Generate Openapi Config

OpenAPI config

1. Module config

src/module/demo-student/cli/openapi.config.ts

diff
export default function (): ZovaOpenapiConfigModule {
  return {
+   operations: {
+     match: [/^HomeBaseMenu_*/],
+   },
  };
}

By specifying the APIs that need to be managed in the current module in operations.match, you can specify a set of APIs using regexp

2. Project config

The system automatically creates the file openapi.config.ts in the project directory, which can specify the download source for Swagger/OpenAPI

openapi.config.ts

diff
export default function (): ZovaOpenapiConfig {
  return {
    default: {
+     source: 'http://localhost:7102/swagger/json?version=V31',
    },
    modules: {},
  };
}

Generate Openapi SDK

Now you can automatically download Swagger/Openapi and then generate the specified API services in the module demo-student

1. CLI command

bash
$ zova :openapi:generate demo-student

2. Menu commands

TIP

Context Menu - [Module Path]: Zova Tools/Generate Openapi SDK

API services are now available. See also: $api

Convention: To standardize the code, a module either automatically creates API services using the Openapi SDK or creates API services manually. Choose one of the two ways

Released under the MIT License.