buping-test-cli

1.0.0 • Public • Published

使用说明

安装 gen-client-openapi

npm i --save-dev gen-client-openapi
# or
yarn add -D gen-client-openapi

配置接口生成规则

创建配置文件

touch apiconfig.json

配置文件内容示例

[
  {
    "name": "服务名称",
    "pathPrefix": "/hms/hljUser",
    "oasPath": "http://dev-api.hunliji.com/hms/hljUser/v2/api-docs",
    "includePaths": [
      "^\/hms\/.*\/managerApi\/.*"
    ],
    "apiOptionOperationIdAsApiName": false,
    "apiOptionShiftApiName": 4,
    "apiOptionFlatten": true,
    "apiOptionIgnoreHeaderParam": false,
    "output": "./app/common/api/hljUser",
    "log": true
  }
]

配置类型参考

interface ServiceConfig {
  /**
   * 服务名称
   */
  name: string
  /**
   * 文档地址
   */
  oasPath: string
  /**
   * 输出目录
   */
  output: string
  /**
   * 输出格式
   */
  outputFormat: 'ts' | 'js'
  /**
   * 路径前缀
   */
  pathPrefix?: string
  /**
   * 指定接口,支持正则表达式,不指定默认生成OpenApi文档中全部接口
   */
  includePaths?: string[]
  /**
   * 接口名称使用OperationId
   */
  apiOptionOperationIdAsApiName?: boolean
  /**
   * 接口名称需缩减的路径段数(依据路径生成)
   */
  apiOptionShiftApiName?: number
  /**
   * 接口扁平化组织
   */
  apiOptionFlatten?: boolean
  /**
   * 忽略Header参数
   */
  apiOptionIgnoreHeaderParam?: boolean
  /**
   * 接口自定义命名
   * eg:
   * {
   *   "/user/get/detail":"userDetail",
   * }
   */
  apiOptionCustomerApiNames?: any
  /**
   * 是否打印日志
   */
  log?: boolean
}

生成接口声明

npx gen-client apiconfig.json

配置package.json scripts

packages.json scripts节添加如下

{
  ...
  "scripts": {
    ...
    "build-api": "gen-client apiconfig.json"
  },
  ...
}

生成指令

npm run build-api
# or
yarn build-api

本工具发布

npm publish --registry http://pripub.hljnbw.cn:8019

npm unpublish gen-client-openapi@1.0.0 --registry http://pripub.hljnbw.cn:8019

Readme

Keywords

none

Package Sidebar

Install

npm i buping-test-cli

Weekly Downloads

2

Version

1.0.0

License

ISC

Unpacked Size

86.7 kB

Total Files

19

Last publish

Collaborators

  • buping