资源和端点有什么区别?

时间:2015-06-01 18:24:54

标签: rest api uri restful-architecture endpoint

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

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

6 个答案:

答案 0 :(得分:68)

我将资源描述为端点的RESTful子集。

在REST中,资源通常是指在API端点公开的某个对象或对象集。

/api/users/johnny

端点本身只是对接受可能是或可能不是REST的Web请求的uri的引用。

/services/service.asmx

以下来自w3 metadata docs的参考资料并非指一般意义上的资源,但仍然赋予两个术语如何相关的含义:

  

3.3术语

     

服务端点:使用a可寻址的Web服务   WS-Addressing端点引用。在此背景下   规范,假设消费者的主要目标是   与此服务互动。

     

元数据资源:可使用的可寻址的专用Web服务   WS-Addressing端点引用或URL及其主要内容   目的是公开一段元数据的XML表示   与服务端点相关联。

     

虽然从技术上讲,单个Web服务既可以是“服务”,也可以是“服务”   为了达到目的,端点'以及'元数据资源'   阐明这两种Web服务的各种期望,   本规范将讨论这两个概念(或角色)   不同的实体。

其他参考资料 -

What is a web service endpoint?

http://en.m.wikipedia.org/wiki/Web_resource http://en.m.wikipedia.org/wiki/Web_service

将资源称为端点:

http://developers.lyst.com/2015/02/20/1-to-1-relationships-and-subresources-in-rest-apis/

答案 1 :(得分:56)

术语资源端点通常用于同义词。但实际上它们并不意味着同样的事情。

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

现在,相同资源通常可由多个不同端点访问。
此外,相同端点可以返回不同的资源,具体取决于查询字符串。

让我们看一些例子:

访问相同资源的不同端点

查看以下不同端点的示例:

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

他们显然可以访问给定API中的相同资源

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

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

访问不同资源的一个端点

如果您的端点返回一个集合,您可以使用查询字符串实现搜索/过滤/排序。因此,以下网址都使用相同的端点/api/companies),但他们可以返回不同的资源(或资源集合 ,根据定义,它们本身就是资源):

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

答案 2 :(得分:2)

根据https://apiblueprint.org/documentation/examples/13-named-endpoints.html资源 a" general"给定实体的存储地点 - 例如/ customers / 30654 / orders,而端点是给定资源上的具体操作(HTTP方法)。因此,一个资源可以有多个端点。

答案 3 :(得分:2)

可能我的答案不是一个很好的选择,但这是可行的。

由于通过HTTP与真正的RESTful Web服务进行了更多的合作,我一直试图避免人们使用术语终结点,因为它没有明确的定义,而是使用REST语言,即资源和资源位置。 >

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

因此,资源不是一个较新的术语,我不认为,端点总是被盗用,并且我们意识到随着REST成为样式的领头羊, API。

修改

我对此发表了博客。

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

答案 4 :(得分:0)

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

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

其他信息: 3。参数 参数是您可以随端点传递的选项(例如指定响应格式或返回的数量)以影响响应。

4。请求示例 该请求示例包括一个使用端点的示例请求,其中显示了已配置的一些参数。

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

来源- Reference link

答案 5 :(得分:0)

考虑一个具有用户,任务及其奖励积分信息的服务器。

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

enter image description here

来源:API Endpoints vs Resources