使用

生成代码

使用以下命令生成代码:

npx ytt

如果要使用自定义的配置文件:

npx ytt -c config/ytt.ts

编写统一请求函数

统一请求函数

调用接口请求函数

outputFilePath 导入你要调用的接口请求函数即可,接口请求函数的名称由配置 getRequestFunctionName 决定,如:

import { getUserInfo } from '../api'
const updateUserInfo = async () => {
const userInfo = await getUserInfo({
id: 1,
})
console.log(userInfo)
}

调用上传文件类接口

对于上传文件类接口,你需要将文件包装为一个 FileData 实例,如:

import { FileData } from 'yapi-to-typescript'
import { uploadFile } from '../api'
const changeAvatar = async (file: File) => {
const res = await uploadFile({
type: 'avatar',
file: new FileData(file),
})
console.log(res)
}

获取接口的请求数据、返回数据类型

如果你没动过 getRequestDataTypeNamegetResponseDataTypeName 这两个配置,默认情况下,你可以这样获取接口的请求数据、返回数据类型:

import { getUserInfo, GetUserInfoRequest, GetUserInfoResponse } from '../api'
interface CustomUserInfo extends GetUserInfoResponse {
gender: 'male' | 'female' | 'unknown'
}
const customGetUserInfo = async (
payload: GetUserInfoRequest,
): Promise<CustomUserInfo> => {
const userInfo = await getUserInfo(payload)
return {
...userInfo,
gender:
userInfo.sexy === 1 ? 'male' : userInfo.sexy === 2 ? 'female' : 'unknown',
}
}

如果你只想获得请求数据、返回数据下某个字段的类型,可以这样做:

import { GetUserInfoResponse } from '../api'
type UserRole = GetUserInfoResponse['role']