Generate an API client through OpenApi spec, which can be used as a cli or as a middleware to provide a remote client entry that can be directly referenced by Deno
deno run -A jsr:@imean/openapi-client-generator/cli --spec https://xxx.xxx.xxx/you_spec_json_url --out client.ts
Server side:
import { useKoaApiClient } from "jsr:@imean/openapi-client-generator/koa"; const app = new Koa(); const spec = Deno.readTextFileSync("./spec.json"); app.use(useKoaApiClient("/client.ts", spec)); app.listen(3000);
Client side:
import { ApiClient } from "http://127.0.0.1:3000/client.ts?cache=1"; const client = new ApiClient();
⚠️ The cache query parameter is optional. If the upstream server version changes, you can manually modify the cache value. Of course, you can replace it with any other parameter name, or you can use "deno cache --reload xxx" to update the cache dependency.
Add Package
deno add jsr:@imean/openapi-client-generator
Import symbol
import * as openapi_client_generator from "@imean/openapi-client-generator";
---- OR ----
Import directly with a jsr specifier
import * as openapi_client_generator from "jsr:@imean/openapi-client-generator";
Add Package
npx jsr add @imean/openapi-client-generator
Import symbol
import * as openapi_client_generator from "@imean/openapi-client-generator";
Add Package
yarn dlx jsr add @imean/openapi-client-generator
Import symbol
import * as openapi_client_generator from "@imean/openapi-client-generator";
Add Package
pnpm dlx jsr add @imean/openapi-client-generator
Import symbol
import * as openapi_client_generator from "@imean/openapi-client-generator";
Add Package
bunx jsr add @imean/openapi-client-generator
Import symbol
import * as openapi_client_generator from "@imean/openapi-client-generator";