命名 API 端点的最佳实践

2025-05-25

命名 API 端点的最佳实践

在命名您的 #API 端点请求时,务必遵循最佳实践,以确保您的 API 直观、一致且易于使用。以下是一些指南和示例,可帮助您有效地命名 API 端点:

  1. 使用名词作为资源名称。端点应该表示资源(名词),而不是动作(动词)。例如,使用/users而不是/getUsers

  2. 集合名称使用复数形式。指代一组资源时,请使用复数名词(例如/users)。对于单个资源,请使用单数形式及其标识符(例如/users/{id})。

  3. 使用 HTTP 方法定义操作

    • GET . 检索一个资源或一组资源 (例如GET /usersGET /users/{id})。
    • POST . 创建新资源(例如POST /users)。
    • PUTPATCH。更新现有资源(例如PUT /users/{id}PATCH /users/{id})。
    • 删除。删除资源(例如DELETE /users/{id})。
  4. 层次结构。使用清晰、合乎逻辑的层次结构来表示资源之间的关系(例如,/users/{id}/posts表示特定用户的帖子)。

  5. 使用一致的命名约定。坚持一致的命名约定,例如蛇形命名法或短横线命名法,并在整个 API 中保持一致(例如,/user_profiles/user-profiles)。

  6. 避免使用特殊字符和空格-在 URL 路径中使用连字符 ( ) 分隔单词,而不是空格或下划线(例如,/user-profiles而不是/user_profiles)。

  7. 保持简洁直观。名称应易于理解和记忆。避免使用复杂或过于专业的术语。

  8. 版本控制 API。在端点路径中包含版本控制,以便将来进行更改而不会破坏现有客户端(例如/v1/users)。

  9. 使用查询参数描述操作。不要在端点路径中使用动词,而是使用查询参数进行过滤、排序或搜索(例如GET /users?status=active)。

命名良好的 API 端点示例

以下是遵循这些最佳实践的结构良好的 API 端点的一些示例:

  1. 用户管理

    • GET /v1/users– 检索用户列表。
    • GET /v1/users/{id}– 通过 ID 检索特定用户。
    • POST /v1/users– 创建新用户。
    • PUT /v1/users/{id}– 更新用户信息。
    • DELETE /v1/users/{id}– 删除用户。
  2. 验证

    • POST /v1/auth/login– 用户登录。
    • POST /v1/auth/register– 用户注册。
    • POST /v1/auth/logout– 用户注销。
  3. 资源关系

    • GET /v1/users/{id}/posts– 检索特定用户创建的帖子。
    • POST /v1/users/{id}/posts– 为特定用户创建新帖子。
  4. 分页和过滤

    • GET /v1/users?page=2&limit=10– 每页按 10 个用户进行分页。
    • GET /v1/posts?sort=desc&category=tech– 检索按日期降序排列并按类别过滤的帖子。
  5. 具有清晰命名的复杂操作

    • POST /v1/orders/{id}/cancel– 取消订单。
    • PUT /v1/users/{id}/password– 更新用户密码。
  6. 错误处理和状态

    • GET /v1/orders?status=pending– 检索处于待处理状态的订单。

结论

遵循这些实践,您可以创建清晰、一致且易于使用的 API,让开发人员感到直观高效。命名约定在 API 设计中至关重要,因为它可以提供清晰度并减少混淆,使开发人员更容易理解和使用您的 API。

文章来源:https://dev.to/msnmongare/best-practices-for-naming-api-endpoints-2n5o
PREV
SQL 中的 Count(*) 与 Count(1)
NEXT
安装 Zsh Ubuntu 在 Ubuntu 18.04 LTS 上安装 Z-shell (Oh My Zsh)