@quicker-js/swagger-generator
v1.1.0
Published
swagger-generator is used to convert a swagger api to a class instance. support url or json file.
Downloads
2
Readme
swagger-generator
swagger-generator is used to convert a swagger api to a class instance. support url or json file.
Installing
npm i @quicker-js/swagger-generator
#or
yarn add @quicker-js/swagger-generator
UseAge
Create swagger-generator.config.js
in the root directory of the project.
module.exports = {
namespaces: {},
output: path.resolve('src', 'api'),
globalFiles: [],
replaces: [],
excludes: [],
}
namespaces
This option is added in the form of keyValue, which can be a URL or a local file
const path = require('path')
// "system.json" in project the root directory.
// "system.json" should a "swagger" json file.
// fetch the "https://app.com/test/v2/api-docs" url should response a "swagger" json file.
module.exports = {
namespaces: {
system: path.resolve('system.json'),
test: 'https://app.com/test/v2/api-docs'
},
}
output
This option specifies the directory where the model file is generated.
const path = require('path')
module.exports = {
output: path.resolve('src', 'api'),
}
globalFiles
This option is used to specify some generic class models, which are generally shared by the whole project.
module.exports = {
globalFiles: ['ResponseList', 'PageList'],
}
replaces
This option is used to replace the path path or model name in the model.
module.exports = {
replaces: [
{
// Replace version number in path
// For example, from:
// @ApiRequest({
// url: '/order-v100001/info/{id}',
// })
// to:
// @ApiRequest({
// url: '/order/info/{id}',
// })
test: /-v100001/,
// Replace value
value: '',
// Replace type is path
type: 'path',
},
{
// Replace model name in name
// For example, ResponseResult will be replaced with R
test: /^ResponseResult/,
// Replace value
value: 'R',
// Replace type is name
type: 'name',
},
],
}
excludes
This option specifies which model names are excluded from the build file.
module.exports = {
// Can be string or regexp.
excludes: [
/\PageData/,
'PageData'
]
}
Documentation
Issues
Create issues in this repository for anything related to the Class Transformer. When creating issues please search for existing issues to avoid duplicates.
License
Licensed under the MIT License.