icinfo-api-generator
TypeScript icon, indicating that this package has built-in type declarations

1.1.4 • Public • Published

api自动化生成代码工具

解析后端的微服务api文档,自动生成所需要的接口函数(TS格式的)

引入的命令

npm i icinfo-api-generator

基本用法案例

在需要的项目中创建一个文件,比如 api.js

const axios = require('axios')
const { generate } = require('icinfo-api-generator')

async function main() {
    const apis = [
        'http://api.fed.icinfo.co/zzk/dtcenter/dt-qualities/develop/api.json',
    ]
    apis.forEach(async url => {
        const result = await axios(url)

        generate(result.data, {
            // mockDir: 'src/mock/data',
            tsDir: 'src/services',
            merge: true,
            request: 'http.request',
            prepend: `
import { ExAxiosRequestConfig } from 'icinfo-request'
import http from "@/scripts/http"`,
            optionsType: 'ExAxiosRequestConfig',
            dataDescription: '要提交给服务器的数据',
            optionsDescription: '附加选项',
            newLine: '\n',
        })

        // eslint-disable-next-line no-console
        console.log('已成功生成:', url.replace(/\/api\.json$/, ''))
    })
}

main()

同时在package.json配置scripts

"api": "node api.js"

执行方法为

npm run api

可配置的参数

名称 类型 是否必填 说明 默认值 备注
getMockData function 自定义个别字段的模拟数据 - -
mockCount function 自定义个别字段的模拟个数 - -
mockDir string 模拟数据文件夹地址 - -
merge boolean 是否合并已有的模拟数据 - -
mockDepth number 嵌套对象的最多模拟次数 - -
mockPrefix string 模拟数据的前缀 - -
tsDir string 接口文件夹地址 - -
docFile string 生成的文档文件名 - -
prepend string 模块前追加的内容 - -
optionsType string 选项的类型 - -
dataDescription string 数据的描述 - -
optionsDescription string 附加选项的描述 - -
request string 发起请求接口名 - -
newLine string 使用的换行符 - -
apiType 'jquery'|'axios' 参数配置的类型, 默认为jquery.ajax的方案,可选axios方案 'jquery' -
scriptType 'ts'|'js' 脚本类型,默认生成ts类型,可选js类型 'ts' -
include string[] 只有名称匹配的api全路径才会被生成 - -

更新

2024-03-19

新增生成枚举值

Readme

Keywords

none

Package Sidebar

Install

npm i icinfo-api-generator

Weekly Downloads

4

Version

1.1.4

License

ISC

Unpacked Size

548 kB

Total Files

7

Last publish

Collaborators

  • fed-group