全面了解 RESTful API 的 URI 设计

阅读时长 5 分钟读完

什么是 RESTful API

REST(Representational State Transfer)是一种架构风格,用于构建分布式系统。RESTful API 是基于 REST 架构风格的一种 API 设计规范,其目的是使得 API 更加可读、可靠和易于扩展。它使用标准 HTTP 方法(GET、POST、PUT、DELETE 等)进行通信,通过 URI(Uniform Resource Identifier)来标识资源,以及使用 MIME 类型(JSON、XML 等)来处理数据格式。

URI 设计原则

在设计 RESTful API 时,URI 是非常重要的一环。它要反映出 API 的结构、资源的名称、以及资源之间的关系。下面是一些 URI 设计原则:

1. 资源的名称应该使用名词

URI 应该标识出资源的名称而不是操作。比如,应该使用 /articles 而不是 /getArticles。同时,应该避免使用动作词,比如 /deleteArticle,而是使用 DELETE 方法来删除。

2. URI 应该标识出子资源和集合资源

通常,集合资源是一个资源的“列表”,而子资源则是某个资源包含的对象。可以使用 URI 中的斜杠来表示层级。比如,/articles 可以表示文章的集合资源,而 /articles/1 可以表示 ID 为 1 的文章。

3. 使用查询参数来筛选、排序和分页资源

URI 应该包含完整的资源标识符,但应该使用查询参数来标识出资源的属性、筛选条件、排序方式和分页信息。

4. URI 应该使用连字符代替下划线

URI 中应该使用连字符代替下划线。这种方式更符合标准 URI 规范,并且在某些语言中下划线有特殊含义。

URI 设计示例

下面是一个 URI 设计示例,以博客系统为例:

1. 获取博客列表

请求:

参数:

  • sort:按照标题排序
  • limit:每页显示 10 条数据
  • offset:从第 21 条数据开始获取

响应:

-- -------------------- ---- -------
------- --- --
------------- ----------------

-
  ------- -
    -
      ----- --
      -------- ----- ------- --- --------
      --------- -----------
      ------------- ----------- ---------
    --
    ---
  --
  -------- ----
  -------- ---
  --------- --
-

2. 获取指定博客详情

请求:

响应:

-- -------------------- ---- -------
------- --- --
------------- ----------------

-
  ----- --
  -------- ----- ------- --- --------
  ---------- --------------- --- ------------
  --------- -----------
  ------------- ----------- ---------
-

3. 获取某篇博客的评论列表

请求:

响应:

-- -------------------- ---- -------
------- --- --
------------- ----------------

-
  ------- -
    -
      ----- --
      ---------- ----------
      --------- -------
      ------------- ----------- ---------
    --
    ---
  -
-

4. 添加一篇博客

请求:

响应:

-- -------------------- ---- -------
------- --- -------
------------- ----------------

-
  ----- ----
  -------- ----- ---------- --------
  ---------- ----------- -------------------
  --------- -----------
  ------------- ----------- ---------
-

5. 修改一篇博客

请求:

响应:

总结

URI 设计是 RESTful API 设计中的一个重要环节。通过遵循一些 URI 设计原则,可以使得 API 更加易于使用和扩展。在实际项目中,应该根据具体业务需求来设计 URI。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64c0f1c483d39b488154d2ee

纠错
反馈