B S*_*ven 127 api rest uri endpoint restful-architecture
我听过"资源"和"端点"都指的是同一件事.资源似乎是一个较新的术语.
他们之间有什么区别?"资源"是否意味着RESTful设计?
cch*_*ain 90
我将资源描述为端点的RESTful子集.
在REST中,资源通常是指在API端点处公开的某些对象或对象集.
https://www.google.com # Serves HTML
8.8.8.8 # Serves DNS
/services/service.asmx # Serves an ASP.NET Web Service
Run Code Online (Sandbox Code Playgroud)
端点本身只是对接受可能是也可能不是RESTful的Web请求的uri的引用.
/api/users/johnny # Look up johnny from a users collection.
/v2/books/1234 # Get book with ID 1234 in API v2 schema.
Run Code Online (Sandbox Code Playgroud)
来自w3元数据文档的以下参考不是指一般意义上的资源,而是仍然赋予这两个术语如何相关的含义:
3.3术语
服务端点:使用WS-Addressing端点引用可寻址的Web服务.在本规范的上下文中,假设消费者的主要目标是与该服务交互.
元数据资源:一种专用Web服务,可使用WS-Addressing端点引用或URL进行寻址,其主要目的是公开与服务端点关联的元数据的XML表示.
虽然从技术上讲,单个Web服务既可以是"服务端点",也可以是"元数据资源",为了阐明这两种类型Web服务的各种期望,本规范将讨论这两个概念(或角色)不同的实体.
其他参考 -
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/
Jps*_*psy 77
术语资源和端点通常用于同义词.但实际上它们并不意味着同样的事情.
术语端点侧重于用于发出请求的URL.
术语资源主要关注请求返回的数据集.
现在,多个不同的端点通常可以访问相同的资源.
同样的端点也可以返回不同的资源,具体取决于查询字符串.
让我们看一些例子:
看看以下不同端点的示例:
/api/companies/5/employees/3
/api/v2/companies/5/employees/3
/api/employees/3
Run Code Online (Sandbox Code Playgroud)
显然,他们都可以访问给定API中的相同资源.
此外,现有的API可以完全更改.这可能会导致新的端点使用全新的不同URL访问相同的旧资源:
/api/employees/3
/new_api/staff/3
Run Code Online (Sandbox Code Playgroud)
如果端点返回集合,则可以使用查询字符串实现搜索/过滤/排序.因此,以下URL都使用相同的端点(/api/companies),但它们可以返回不同的资源(或资源集合,根据定义,它们本身就是资源):
/api/companies
/api/companies?sort=name_asc
/api/companies?location=germany
/api/companies?search=siemens
Run Code Online (Sandbox Code Playgroud)
可能我的回答不是一个很好的选择,但这是可行的。
由于通过HTTP与真正的RESTful Web服务进行了更多的合作,我试图使人们避免使用术语终结点,因为它没有明确的定义,而是使用REST语言,即资源和资源位置。
在我看来,端点是TCP术语。它与HTTP混合使用,因为部分URL标识了侦听服务器。
因此,资源不是一个较新的术语,我认为,端点始终被盗用,并且我们意识到随着REST作为一种API 风格而逐渐流行起来。
编辑
我写了关于这个的博客。
https://medium.com/@lukepuplett/stop-saying-endpoints-92c19e33e819
| 归档时间: |
|
| 查看次数: |
121667 次 |
| 最近记录: |