资源和端点之间的区别是什么?

我听说过“资源”和“端点”指的是同一件事。似乎资源是一个较新的术语。

它们之间的区别是什么? “资源”是否意味着 RESTful 设计?

161559 次浏览

休息

Resource 终点的 RESTful 子集。

终点本身就是可以访问服务的位置:

https://www.google.com    # Serves HTML
8.8.8.8                   # Serves DNS
/services/service.asmx    # Serves an ASP.NET Web Service

资源是指以名称空间的方式提供的一个或多个名词,因为人们很容易理解:

/api/users/johnny         # Look up johnny from a users collection.
/v2/books/1234            # Get book with ID 1234 in API v2 schema.

以上所有内容都可以被认为是服务端点,但是从 REST 的角度来说,只有底层组才可以被认为是资源。对于它所提供的内容,顶部组没有表达能力。

REST 请求就像一个由 名词(资源)和 动词(HTTP 方法)组成的句子:

  • GET(方法)名为 johnny(资源)的用户。
  • DELETE(方法)具有 id 1234(资源)的书。

不休息

端点通常指的是一个服务,但资源可能意味着很多东西。下面是一些依赖于它们所使用的上下文的资源示例。

URL: 统一的“资源”定位器

  • 可能是 RESTful,但通常不是。在这种情况下,端点几乎是同义词。

资源管理

字典

  • 定义提供了这个词更多的用法。

一些可以帮助你的东西:

图书馆是一种宝贵的资源,他经常利用它。

资源是天然物质,如水和木材 对维持生命很有价值:

地球的资源有限,如果我们不循环利用 我们用完了

资源也是有价值的东西,如金钱或财产,你可以在需要时使用它们:

[ pl ]政府没有足够的资源来雇佣 需要教师


道德

术语 资源的定义有很多细微的差别,这完全取决于它所使用的 背景

根据 https://apiblueprint.org/documentation/examples/13-named-endpoints.html是一个 资源,它是给定实体的一个“通用”存储位置——例如/customer/30654/order,而 终点是对给定资源的具体操作(HTTP 方法)。因此一个资源可以有多个端点。

术语 资源终点通常是同义词,但实际上它们的意思并不相同。

术语 终点主要关注用于发出请求的 网址
术语 资源主要关注请求返回的 数据集

现在,通常可以通过多个 不同的终点访问 同样的资源
根据查询字符串,同样的终点也可以返回 不同的资源

让我们看一些例子:

访问同一资源的不同端点

看看以下 不同的终点的例子:

/api/companies/5/employees/3
/api/v2/companies/5/employees/3
/api/employees/3

他们显然都可以在给定的 API 中访问非常 同样的资源

还可以完全改变现有的 API。这可能导致新的端点使用全新的和不同的 URL 访问相同的旧资源:

/api/employees/3
/new_api/staff/3

一个端点访问不同的资源

如果端点返回集合,则可以使用查询字符串实现搜索/筛选/排序。因此,以下 URL 都使用 同样的终点(/api/companies) ,但它们可以返回 不同的资源(或 资源收集,根据定义,它们本身就是资源) :

/api/companies
/api/companies?sort=name_asc
/api/companies?location=germany
/api/companies?search=siemens

也许我的回答不怎么样,但我要说了。

自从更多地使用基于 HTTP 的真正 RESTful Web 服务以来,我一直试图引导人们避免使用端点这个术语,因为它没有明确的定义,而是使用 REST 语言,即资源和资源位置。

在我看来,端点是 TCP 术语。它与 HTTP 混为一谈,因为 URL 的一部分标识了监听服务器。

所以资源不是一个更新的术语,我不认为,我认为端点总是被挪用,我们意识到,当我们把 REST 作为一个 API 的 风格时。

剪辑

我在博客上写了这个。

Https://medium.com/@lukepuplett/stop-saying-endpoints-92c19e33e819

1. 资源说明 “资源”指的是 API 返回的信息。

2. 端点和方法 端点指示如何访问资源,而方法指示允许与资源的交互(如 GET、 POST 或 DELETE)。

附加信息: 3. 参数 参数是可以通过端点传递的选项(例如指定响应格式或返回的数量) ,以影响响应。

4. 要求举例 请求示例包含一个使用端点的示例请求,其中显示了配置的一些参数。

5. 响应示例和模式 响应示例显示了来自请求示例的一个示例响应; 响应模式定义了响应中所有可能的元素。

来源- 参考链接

考虑一个服务器,其中包含用户、任务和奖励点的信息。

  1. 用户和奖励点是资源
  2. 一个端点可以与多个资源相关联
  3. 端点可以使用描述或完整或 部分网址

enter image description here

资料来源: API 端点与资源