编辑 | blame | 历史 | 原始文档

---
name: api-service
description: 创建新的 API 服务模块,包含 TypeScript 类型定义

allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"]

/api-service

创建新的 API 服务模块时使用此工作流。

目标

创建一个类型安全的 API 服务模块,包含正确的请求/响应类型定义。

常用文件

  • src/api/**/*.ts
  • src/services/**/*.ts

建议步骤

  1. 定义请求/响应的 TypeScript 接口
  2. 创建带类型方法的 API 服务对象
  3. 导出类型和服务
  4. 如需要,添加错误处理

API 服务模板

// types.ts
export interface User {
  id: number;
  name: string;
  email: string;
  createdAt: string;
}

export interface UserQuery {
  page?: number;
  pageSize?: number;
  name?: string;
}

export interface CreateUserDTO {
  name: string;
  email: string;
}

export interface UserListResponse {
  list: User[];
  total: number;
}

// user.ts
import { request } from '#/utils/request';
import type { User, UserQuery, CreateUserDTO, UserListResponse } from './types';

export const userApi = {
  // 获取用户列表
  getList: (params?: UserQuery) =>
    request.get<UserListResponse>('/users', { params }),

  // 根据ID获取用户
  getById: (id: number) =>
    request.get<User>(`/users/${id}`),

  // 创建用户
  create: (data: CreateUserDTO) =>
    request.post<User>('/users', data),

  // 更新用户
  update: (id: number, data: Partial<CreateUserDTO>) =>
    request.put<User>(`/users/${id}`, data),

  // 删除用户
  delete: (id: number) =>
    request.delete<void>(`/users/${id}`),
};

典型提交信息

  • feat: add [模块名] API service
  • feat: implement [模块名] API with types