命名 API 端点的最佳实践
在命名您的 #API 端点请求时,务必遵循最佳实践,以确保您的 API 直观、一致且易于使用。以下是一些指南和示例,可帮助您有效地命名 API 端点:
-
使用名词作为资源名称。端点应该表示资源(名词),而不是动作(动词)。例如,使用
/users
而不是/getUsers
。 -
集合名称使用复数形式。指代一组资源时,请使用复数名词(例如
/users
)。对于单个资源,请使用单数形式及其标识符(例如/users/{id}
)。 -
使用 HTTP 方法定义操作。
- GET . 检索一个资源或一组资源 (例如
GET /users
、GET /users/{id}
)。 - POST . 创建新资源(例如
POST /users
)。 - PUT或PATCH。更新现有资源(例如
PUT /users/{id}
或PATCH /users/{id}
)。 - 删除。删除资源(例如
DELETE /users/{id}
)。
- GET . 检索一个资源或一组资源 (例如
-
层次结构。使用清晰、合乎逻辑的层次结构来表示资源之间的关系(例如,
/users/{id}/posts
表示特定用户的帖子)。 -
使用一致的命名约定。坚持一致的命名约定,例如蛇形命名法或短横线命名法,并在整个 API 中保持一致(例如,
/user_profiles
或/user-profiles
)。 -
避免使用特殊字符和空格。
-
在 URL 路径中使用连字符 ( ) 分隔单词,而不是空格或下划线(例如,/user-profiles
而不是/user_profiles
)。 -
保持简洁直观。名称应易于理解和记忆。避免使用复杂或过于专业的术语。
-
版本控制 API。在端点路径中包含版本控制,以便将来进行更改而不会破坏现有客户端(例如
/v1/users
)。 -
使用查询参数描述操作。不要在端点路径中使用动词,而是使用查询参数进行过滤、排序或搜索(例如
GET /users?status=active
)。
命名良好的 API 端点示例
以下是遵循这些最佳实践的结构良好的 API 端点的一些示例:
-
用户管理。
GET /v1/users
– 检索用户列表。GET /v1/users/{id}
– 通过 ID 检索特定用户。POST /v1/users
– 创建新用户。PUT /v1/users/{id}
– 更新用户信息。DELETE /v1/users/{id}
– 删除用户。
-
验证。
POST /v1/auth/login
– 用户登录。POST /v1/auth/register
– 用户注册。POST /v1/auth/logout
– 用户注销。
-
资源关系。
GET /v1/users/{id}/posts
– 检索特定用户创建的帖子。POST /v1/users/{id}/posts
– 为特定用户创建新帖子。
-
分页和过滤。
GET /v1/users?page=2&limit=10
– 每页按 10 个用户进行分页。GET /v1/posts?sort=desc&category=tech
– 检索按日期降序排列并按类别过滤的帖子。
-
具有清晰命名的复杂操作。
POST /v1/orders/{id}/cancel
– 取消订单。PUT /v1/users/{id}/password
– 更新用户密码。
-
错误处理和状态。
GET /v1/orders?status=pending
– 检索处于待处理状态的订单。
结论
遵循这些实践,您可以创建清晰、一致且易于使用的 API,让开发人员感到直观高效。命名约定在 API 设计中至关重要,因为它可以提供清晰度并减少混淆,使开发人员更容易理解和使用您的 API。
文章来源:https://dev.to/msnmongare/best-practices-for-naming-api-endpoints-2n5o