smw*_*dia 4 rest web-services asp.net-web-api
我花了一整天时间阅读菲尔丁关于REST的着名论文.它在结论部分说:
REST,一种用于分布式超媒体系统的新颖架构风格....
虽然基于Web的应用程序可以包括对其他交互方式的访问,但其协议和性能问题的核心焦点是分布式超媒体.REST仅详细说明了体系结构中被认为是Internet规模分布式超媒体交互必不可少的部分.
根据维基百科:
超媒体是超文本一词的扩展,是一种非线性信息媒介,包括图形,音频,视频,纯文本和超链接.
所以在我看来,REST是有意义的web-based content-intensive system.但显然RESTful API已被buzzword用于几乎所有地方web service.
那么这种过度使用了吗?还是误用?
参考文献:
我认为JSON不是媒体而是文字或视频.所以从本质上讲,JSON中表示的序列化对象是一种媒介.
现在,"超媒体"是在语义上链接在一起的媒体.您可以通过包含链接:HAL或HATEAOS 来制作JSON超媒体.
在此,您将相关资源的链接添加到JSON文档.示例:
{
"content": [ {
"price": 499.00,
"description": "Apple tablet device",
"name": "iPad",
"links": [ {
"rel": "self",
"href": "http://localhost:8080/product/1"
} ],
"attributes": {
"connector": "socket"
}
}, {
"price": 49.00,
"description": "Dock for iPhone/iPad",
"name": "Dock",
"links": [ {
"rel": "self",
"href": "http://localhost:8080/product/3"
} ],
"attributes": {
"connector": "plug"
}
} ],
"links": [ {
"rel": "product.search",
"href": "http://localhost:8080/product/search"
} ]
}
Run Code Online (Sandbox Code Playgroud)
人们争辩说,没有链接,JSON不是超媒体.
我也不想尝试将每个API都塞进REST中.并非每个API都与资源有关,因此如果您的API代表RPC,请将其称为RPC:RPC API.
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |