swagger-convert-core
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

核心转换

简介

本工具将swagger转换为标准schema-json格式、ts类型code、axios请求code、mockjs的json

解析swagger内容

/**
 * swaggerUrl 支持http 请求、支持文件读取swaggerJson文件
 * eg: http://localhost:8080/v3/api-docs
 * file: ../index.json
 * 示例可以查看githup测试用例
 * https://github.com/1365436742/swagger-convert-ts/blob/main/packages/swagger-convert-core/__tests__
 */
const { definitionSchemaJson, requestFileCodeSort } =
  await parseSwagger(swaggerUrl)
// definitionSchemaJson 解析出jsonschema
// requestFileCodeSort 所有url、ts名称,相当于后续生成的AST

转换json-schema

import { parseSwagger } from 'swagger-convert-core'
import { JSONSchema, RequestFileCodeSort } from 'swagger-convert-core/types'
const { definitionSchemaJson, requestFileCodeSort } =
  await parseSwagger(swaggerOpenApiUrl)

转换为mockjs

import { parseSwagger, generatedMockJson } from 'swagger-convert-core'
const { definitionSchemaJson, requestFileCodeSort } =
  await parseSwagger(swaggerOpenApiUrl)
const mockJson = generatedMockJson({
  definitionSchemaJson,
  requestFileCodeSort,
})

转换tscode

import { parseSwagger, jsonSchemaToTsCode } from 'swagger-convert-core'
const { definitionSchemaJson } = await parseSwagger(swaggerOpenApiUrl)
const code = await jsonSchemaToTsCode({ definitionSchemaJson })

转换前端的axios-code

import { parseSwagger, generatedFileCode } from 'swagger-convert-core'
const { requestFileCodeSort } = await parseSwagger(swaggerOpenApiUrl)
const config = {
  generatedCodeFileUrl: path.resolve(__dirname, './generate-test'),
  /** 生成本次接口的应用空间名称 */
  requestSpanceName: 'request-test',
}
const { generatedCodeFileUrl, requestSpanceName } = config
await generatedFileCode({
  requestFileCodeSort,
  generatedCodeFileUrl,
  requestSpanceName,
})

Readme

Keywords

none

Package Sidebar

Install

npm i swagger-convert-core

Weekly Downloads

14

Version

1.0.5

License

ISC

Unpacked Size

46.3 kB

Total Files

18

Last publish

Collaborators

  • reqingzai