当前端web项目中应用了ts,我们不可能对成千上百的接口进行 interface的类型定义,那样效率是极低的,但是我们又需要ts智能友好的提示信息,该怎么办?这是我们必须要面对的问题。

小编将接口swagger文档编译成接口文件和interface各种类型定义的工具,现已开源。

需要大家的star~~~

github:swagger-ts-api
生成的代码功能预览:

// test-api/swagger-api/index.ts

import * as types from './../swagger-utils/index'
import { HttpRequest } from './../main'
/**
 * 获取:地址编码[地址信息入参]
 */
export const mapGetGeo = (data: types.GetGeoDto) => {
  return HttpRequest().$post<types.GeoAddressVo>({
    url: '/infra/v1/Map/GetGeo',
    data: data
  })
}
// test-api/swagger-utils/index.ts

/**
* 获取:地址编码[地址信息入参]
*/
export interface GetGeoDto {
  address?: string;// 地址:结构化地址信息
  province?: string;// 省份
  city?: string;// 城市名称  
}

/**
* 获取:地址编码[地址信息入参]Res
*/
export interface GeoAddressVo {
  name: string;
  streetNumber: string;
  level: string;
  precise: boolean;
  confidence: integer;
  tenantId?: number|string;// 租户id
}
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐