JS Code generation using Swagger 2.x API's
Install
npm install --save-dev swagger-jscode
Example
Codes: https://github.com/Derek-Hu/swagger-jscode/tree/master/example
example
├── index.js
└── swagger-api.json
// content of file index.jsconst swagger2JsCode = ;const swaggerDefinitions = ;;
Run codes below will generate codes in folder api
.
example
├── index.js
├── swagger-api.json
└── src
└── api
├── UserController.js
└── types
└── UserEntity.js
// content of file UserController.js /** * @typedef { import("./types/UserEntity.js") } */; /** * Get All Users * @param * @param * @param * @param * @param */const getUserList = { return http; }; /** * Create or Update User * @param * @param * @param */const createUpdateUser = { return http; }; /** * Get User Detail * @param * @param * @param */const getUserById = { return http; };
// content of file UserEntity.js/** * @typedef * @property * @property * @property */
API
Options
swagger
swagger api definitions in JSON formaturl
using remote swagger api definitions, conflict withswagger
optiontargetFolder
target folder when generate js code. Default value:src/api
difinitionFolder
target folder when generate swagger definitions(data structure),Default value:src/api/types
httpBase
Promise based HTTP client. Default Value:'axios'
. The client should support all HTTP methods and has the same signature below
httpBaseget|put|post|delete...url params data headers ...customerConfig
getAPIFileName
function(name:String) => String
transform generated file name to more friendlygetRequestFunctionName
function(method:Method) => String
transform methods in generated file name to more friendly.Method
has the full method definitions, View Swagger Spec for detail: https://swagger.io/docs/specification/basic-structure/
Using in CLI
Provided command for swagger js code generate: sjc
// package.json