Answers:
资源是Endpoint的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.
RESTful来讲,以上所有内容都可以视为服务端点,但是只有底层可以视为资源。最高层在提供的内容方面没有表现力。
REST请求就像由名词(资源)和动词(HTTP方法)组成的句子:
GET
(方法)名为johnny
(资源)的用户。DELETE
(方法)带有ID 1234
(资源)的书。端点通常是指服务,但是资源可能意味着很多事情。以下是一些资源示例,这些示例取决于所使用的上下文。
可以帮助您的事情:
图书馆是宝贵的资源,他经常使用它。
资源是天然物质,例如水和木材,对维持生命具有重要价值:
地球资源有限,如果我们不回收资源,就会用光它们。
资源也是有价值的东西,例如金钱或财产,可以在需要时使用:
政府没有资源聘请所需的教师人数。
根据定义,资源一词有很多细微差别。这完全取决于其使用的上下文。
术语资源和端点通常是同义词。但实际上,它们并不意味着同一件事。
术语“ 端点”集中于用于发出请求的URL。
术语资源集中于请求返回的数据集。
现在,相同的资源通常可以由多个不同的端点访问。
同样,同一端点可以根据查询字符串返回不同的资源。
让我们看一些例子:
看一下以下不同端点的示例:
/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
根据https://apiblueprint.org/documentation/examples/13-named-endpoints.html,资源是给定实体的“一般”存储位置-例如/ customers / 30654 / orders,而端点是具体操作(HTTP方法)在给定资源上。因此,一个资源可以具有多个端点。
1.资源描述 “资源”是指API返回的信息。
2.端点和方法 端点指示您如何访问资源,而方法指示与资源的允许交互(例如GET,POST或DELETE)。
附加信息: 3.参数 参数是您可以随端点传递的选项(例如,指定响应格式或返回的数量)以影响响应。
4.请求示例 请求示例包括使用端点的示例请求,其中显示了一些已配置的参数。
5.响应示例和模式 响应示例显示了来自请求示例的响应示例;响应模式定义了响应中所有可能的元素。
来源 参考链接