A tool to generate API clients from Swagger/OpenAPI specs.
- Only support the
json
format of the Swagger/OpenAPI spec. - Partial content conversion may not be supported in some cases.
npm install swagger-transform
import { swaggerToType, swaggerToClass } from 'swagger-transform'
swaggerToType({
entry: 'path/to/swagger.json',
// or
entry: 'https://example.com/swagger.json'
// or
entry: ['path/to/swagger1.json', 'path/to/swagger2.json'],
})
// or transform to class
swaggerToClass({
entry: 'path/to/swagger.json',
})
- Type:
string
|Array<string>
- Required:
true
The path to the Swagger/OpenAPI spec file or the URL to the Swagger/OpenAPI spec.
- Type:
string
- Default:
'types'
The output directory of the generated type files.
- Type:
boolean
- Default:
false
Whether to generate an index file that exports all type files.
- Type:
string
Add a description at the top of each generated file.
- Type:
object
- Default:
{ integer: 'number' }
The mapping of the Swagger/OpenAPI types to TypeScript types.
- Type:
object
|undefined
The configuration of the generated api file and type. If undefined
, the api file will not be generated. The configuration is as follows:
-
api.fileName
- Type:
string
- Default:
'apis'
The file name of the generated api file
- Type:
-
api.exportName
- Type:
string
- Default:
'Apis'
The export name of the generated api file
- Type:
-
api.outDir
- Type:
string
- Default: config.outDir
The output directory of the generated api file
- Type:
-
api.typeFileName
- Type:
string
- Default:
'allApis'
The file name of the generated api type file
- Type:
-
api.typeName
- Type:
string
- Default:
'AllApis'
The export name of the generated api type file
- Type:
-
api.definitionType
- Type:
'type' | 'class'
- Default:
'type'
The type name of the generated api definition, When using the
swaggerToClass
function, you can configure - Type:
- Type:
function
A function that receives the parameter name and returns the new parameter name.
- Type:
function
A function that receives the definition name and returns the new definition name.
- Type:
function
A function that receives the definition name and returns the new definition file name.
- Type:
function
A function that receives the class name and returns the new class name.