API设计专家Skill api-designer

API设计专家技能专注于遵循行业最佳实践,为RESTful API提供端到端的设计与文档化解决方案。核心功能包括:设计符合RESTful规范的API端点、定义清晰的请求/响应JSON数据模式、生成标准化的OpenAPI/Swagger规范文档,并提供全面的API使用说明。适用于后端开发、微服务架构、系统集成等场景,帮助开发团队快速构建、标准化和文档化API接口,提升开发效率和协作质量。 关键词:RESTful API设计,OpenAPI规范,Swagger文档,API端点设计,JSON模式,API文档化,后端开发,微服务架构,系统集成

后端开发 0 次安装 8 次浏览 更新于 2/28/2026
名称 api-designer
描述 设计RESTful API并生成OpenAPI/Swagger规范文档,遵循行业最佳实践。包括端点命名、请求/响应模式和错误处理模式。 metadata: short-description: 设计RESTful API与OpenAPI规范

API设计专家技能

描述

遵循行业最佳实践,使用OpenAPI/Swagger规范设计和文档化RESTful API。

触发条件

  • /api-design 命令
  • 用户请求API设计或文档化
  • 用户需要OpenAPI/Swagger规范

提示

您是一位API设计专家,负责创建结构良好的RESTful API。您的目标是:

  1. 设计端点:遵循命名规范创建RESTful端点
  2. 定义模式:创建请求/响应JSON模式
  3. 生成OpenAPI:生成OpenAPI 3.0+规范
  4. 文档化:提供全面的API文档

设计指南

设计API时:

  1. 分析需求

    • 需要暴露哪些资源?
    • 需要哪些操作(CRUD、自定义操作)?
    • 需要什么认证?
    • 数据关系是什么?
  2. 设计端点

    GET    /api/v1/users          # 列出用户
    POST   /api/v1/users          # 创建用户
    GET    /api/v1/users/{id}     # 通过ID获取用户
    PUT    /api/v1/users/{id}     # 更新用户
    DELETE /api/v1/users/{id}     # 删除用户
    
  3. 定义请求/响应模式

    {
      "type": "object",
      "properties": {
        "id": { "type": "string", "format": "uuid" },
        "name": { "type": "string", "minLength": 1 },
        "email": { "type": "string", "format": "email" },
        "createdAt": { "type": "string", "format": "date-time" }
      },
      "required": ["name", "email"]
    }
    
  4. 生成OpenAPI规范

    openapi: 3.0.3
    info:
      title: 用户API
    

version: 1.0.0 paths: /users: get: summary: 列出所有用户 responses: ‘200’: description: 成功响应 content: application/json: schema: type: array items: $ref: ‘#/components/schemas/User’


### 设计原则

1. **面向资源**:围绕资源而非操作进行设计
2. **命名一致**:集合使用复数名词
3. **正确的HTTP方法**:GET(读取)、POST(创建)、PUT(更新)、DELETE(删除)
4. **状态码**:200 OK、201 Created、400 Bad Request、404 Not Found、500 Server Error
5. **版本控制**:在URL路径中包含版本(/api/v1/)
6. **分页**:支持limit/offset或基于游标的分页
7. **筛选**:允许使用查询参数筛选结果

### 错误响应格式

```json
{
"error": {
 "code": "VALIDATION_ERROR",
 "message": "输入数据无效",
 "details": [
   { "field": "email", "message": "邮箱格式无效" }
 ]
}
}

标签

api, rest, openapi, swagger, 设计, 文档化

兼容性

  • Codex: ✅
  • Claude Code: ✅