Skip to content

kanweiwei/swagger-codegen-next

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swagger Codegen Next

generate .ts api files by swagger.json

📦 Install

npm install swagger-codegen-next -g
yarn global add swagger-codegen-next

🔨 Usage

Configuration File

swagger-codegen.config.js

// swagger-codegen.config.js
const path = require("path");
const cwd = process.cwd();

module.exports = {
  // swagger文件地址
  url: "http://***/swagger.json",
  // 输出目录
  output: {
    path: path.join(cwd, "services"), // default
  },
  // 获取接口模块名称
  getModuleName(url) {
    return /api\/([^\/]*)/.exec(url)[1];
  },
  // 获取接口名
  getMethodName(operationId) {
    return operationId;
  },
  // 需要跳过生成的接口
  exclude: [],
  template: {
    http: 'import http from "../http";'
  }
};

Now you can run the swagger-codegen-next:

swagger-codegen-next

Config

*url

  • support HTTP/HTTPS

    {
      "url": "http://***.swaggger.json" // https://***.swagger.json
    }
  • support absolute path

    {
      "url": path.resolve(__dirname, "./swagger.json")
    }

*output

The output property tells swagger-codegen-next where to emit the api files .

{
    output: {
        path: path.join(cwd, 'services') // default
    },
}

*getModuleName

The getModuleName method can help swagger-codegen-next to group the APIs.

{
  getModuleName(url){
    return /api\/([^\/]*)/.exec(url)[1]
  }
}

getMethodName

add getMethodName to support to customize the name of a method.

exclude

skip target swagger paths

eg:

exclude: ["/api/user/add"]

LICENSE

MIT

About

根据swagger.json 批量生成接口文件

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •