![Maven Central Adds Sigstore Signature Validation](https://cdn.sanity.io/images/cgdhsj6q/production/7da3bc8a946cfb5df15d7fcf49767faedc72b483-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
openapi-tool
Advanced tools
English | 简体中文
openapi-tool is a tool to generate service file based on openapi.
If you like it, please give me a star. Thanks a lot!
npm install openapi-tool
In order to gain the TypeScript typings (for intellisense / autocomplete) while using CommonJS imports with require()
use the following approach:
const OpenApiTool = require('openapi-tool').default;
PS: Typing .default
is merely used to gain the TypeScript typings. Please remove .default
when you launch the project, otherwise it will throw an error.
const OpenApiTool = require('openapi-tool');
const { resolve } = require('path');
const url = 'https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json';
const outputDir = resolve(__dirname, 'service');
const openApiTool = new OpenApiTool({url});
openApiTool.generateService({
template: 'axios',
importText: `const axios = require('axios');`,
typescript: true,
outputDir,
});
new OpenApiTool(options: Options)
Create a new OpenApiTool
instance.
Options:
Property | Description | Type | Default | required |
---|---|---|---|---|
url | The url of swagger document | string | - | either url or data |
data | The json of swagger document | string | - | either url or data |
generateService(options: ServiceGeneratorOptions): void
Generate service files, the name of file will be the tag's name.
ServiceGeneratorOptions:
Property | Description | Type | Default | required |
---|---|---|---|---|
outputDir | Output directory | string | - | true |
template | HTTP client template which you want to generate | string | 'umi-request' | false |
importText | Import statements | string | default statements | false |
typescript | Generate ts file and typings | boolean | false | false |
format | Format content of OpenApi | (openapi: OpenApi) => OpenApi | - | false |
getOpenApi(): Promise<OpenApi>
Get OpenApi that transformed from OAS2/OAS3.
openapi-tool have a flexible plugin system which can add global-level functionality.
Use plugins by calling the OpenApiTool.use()
global method. This has to be done before you start your app by calling new OpenApiTool()
:
// calls `MyPlugin.install(OpenApiTool)`
OpenApiTool.use(MyPlugin)
new OpenApiTool({
//... options
})
You can optionally pass in some options:
OpenApiTool.use(MyPlugin, { someOption: true })
A plugin should be a method. The method will be called with the OpenApiTool
constructor as the first argument, along with possible options:
const logPlugin = (OpenApiTool, option) => {
OpenApiTool.prototype.log = async function() {
const openapi = await this.getOpenApi();
console.log(`the length of apis: ${openapi.apis.length}`);
console.log('option', option);
}
}
then you can use it like this:
const openApiTool = new OpenApiTool({
//... options
});
openApiTool.log();
FAQs
a tool to generate service file based on openapi
We found that openapi-tool demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.