0.0.4-beta.3 • Published 7 months ago

wxq-api-ci v0.0.4-beta.3

Weekly downloads
-
License
ISC
Repository
-
Last release
7 months ago

Swagger|Yapi TypeScript interface生成

目前已支持swagger2.0,后续支持swagger3.0 以及Yapi

Getting Started

Install with NPM:

npm install wxq-api-ci -D

Install with pnpm:

pnpm add -D wxq-api-ci

Usage

npx wxq-api-ci

Options

在项目根目录创建wxq-api-ci.config.js文件,并添加内容配置

const config = {
  docUrl: 'http://domain.com', // swagger等服务域名
  path: '', // swagger的json访问path
  group:'', 服务分组名称,如果不传则为单个服务或者匹配全部服务
  type: 'swagger2', // 支持解析的文档类型  swagger2 | swagger3 | yapi
  build: {
    outDir: 'api', // interface & api 的生成路径
    apiOutput: {outDir: "", filename: "",hostAchor:""}, // api的生成路径,不设置即读取outDir路径
    filename: 'api.d.ts', // interface 的生成文件名
  }, // 自动化生成配置
  requestFrom: '', // api文件引包 eg:  import { request } from "src/utils/request";
  /**
   * 针对 iso8601 时间格式字符串的自定义类型
   * @description 如果在 http 请求返回数据时统一做时间数据转换,比如统一转换为 Date 或者 Moment,那么可以在这里设置对应的类型
   */
  isoString: {
    typeName: 'Moment',
    import: 'import { Moment } from "moment"',
  },
  regexp: "", // 正则匹配过滤符合apiUrl规则的接口集合
  urls: string[], // 接口url集合,只转化这些接口
  include: [], // 过滤一级目录集合 tag
  exclude:[], // 排除一级目录集合 tag
};

module.exports = config;

inteface rule

header

生成规则:path + By + 参数 + 请求方式 + Query

/** eg */
get -- "/user/info?id=1"

/** 生成的interface */
interface userInfoGetQuery {

}
url参数

生成规则:path + By + 参数 + 请求方式 + Param

/** eg */
get -- "/user/info/{id}"

/** 生成的interface */
interface userInfoByIdGetParam {

}
body

生成规则:path + 请求方式 + Body

response

生成规则:path + 请求方式 + Response

0.0.4-beta.3

7 months ago

0.0.4-beta.2

9 months ago

0.0.4-beta.1

9 months ago

0.0.3-beta.1

9 months ago

0.0.2-beta.2

9 months ago

0.0.2-beta.1

9 months ago

0.0.2-beta.0

9 months ago

0.0.2

9 months ago

0.0.1

9 months ago

0.0.1-beta.1

9 months ago

0.0.1-beta.0

9 months ago