当前端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
}