スキル一覧に戻る
enoch-robinson

api-design

by enoch-robinson

0🍴 0📅 2026年1月10日
GitHubで見るManusで実行

SKILL.md


name: api-design description: RESTful API 设计最佳实践。当用户需要设计 API 接口、定义端点规范、编写 API 文档、或评估现有 API 设计时使用此技能。

API Design

提供专业的 RESTful API 设计指导,确保接口一致性、可用性和可扩展性。

设计原则

  1. 资源导向:URL 表示资源,HTTP 方法表示操作
  2. 一致性:命名、格式、错误处理保持统一
  3. 版本化:支持 API 演进而不破坏现有客户端
  4. 自描述:响应包含足够信息供客户端理解

URL 设计规范

资源命名

GET    /users# 获取用户列表
GET    /users/{id}         # 获取单个用户
POST   /users              # 创建用户
PUT    /users/{id}         # 更新用户(全量)
PATCH  /users/{id}         # 更新用户(部分)
DELETE /users/{id}         # 删除用户

命名规则

  • 使用名词复数:/users 而非 /user
  • 使用小写和连字符:/user-profiles 而非 /userProfiles
  • 避免动词:POST /users 而非 /createUser
  • 嵌套资源:/users/{id}/orders(最多 2 层)

HTTP 状态码

状态码含义使用场景
200OKGET/PUT/PATCH 成功
201CreatedPOST 创建成功
204No ContentDELETE 成功
400Bad Request请求参数错误
401Unauthorized未认证
403Forbidden无权限
404Not Found资源不存在
422Unprocessable业务验证失败
500Server Error服务器错误

响应格式

成功响应

{
  "data": {
    "id": "123",
    "name": "张三",
    "email": "zhang@example.com"
  },
  "meta": {
    "timestamp": "2024-01-15T10:30:00Z"
  }
}

列表响应(带分页)

{
  "data": [...],
  "pagination": {
    "page": 1,
    "per_page": 20,
    "total": 100,
    "total_pages": 5
  }
}

错误响应

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "请求参数验证失败",
    "details": [
      {"field": "email", "message": "邮箱格式不正确"}
    ]
  }
}

版本控制

推荐 URL 路径版本:

/api/v1/users
/api/v2/users

查询参数规范

# 分页
?page=1&per_page=20

# 排序
?sort=created_at&order=desc

# 过滤
?status=active&role=admin

# 字段选择
?fields=id,name,email

# 搜索
?q=keyword

设计检查清单

  • URL 使用名词复数
  • HTTP 方法语义正确
  • 状态码使用恰当
  • 响应格式统一
  • 错误信息清晰
  • 支持分页和过滤
  • 包含版本号

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です