【发布时间】:2012-03-26 22:10:17
【问题描述】:
这几天我一直在阅读“真正的”RESTful API,我认为我已经接近于摸索它的内容了。
但我偶然发现的一件事是,我什至无法想象如何为“真正的”超媒体 API 编写客户端:
我读过的大多数示例都是关于浏览器和蜘蛛的,但这并不是特别有用:一个是人为导向的“智能”,另一个是愚蠢和“随机”的。就目前而言,我的印象是,您需要学习 AI 才能让客户正常工作。
我不清楚的一点是客户端如何知道在任何给定链接上使用哪个动词?这是否隐含在 uri 的“rel”类型中?另一种选择(阅读 here)似乎是使用 xhtml 并拥有一个可以解析和发布表单的客户端。
链接更改的可能性有多大,但链接的路径不会更改? 在您看到的大多数示例中,路线和链接是相同的:
例如。如果我想设置一个客户端,它将把我从 Toni's Cake Shop 带回的蛋糕列表:
http://tonis.com
{ link: { type : "cakes" ; uri : "http://tonis.com/cakes" } }
当 Toni's 变成 Toni's Food Shop 并且链接变为 http://tonis.com/desserts/cakes 时会发生什么?
我们是否将初始的cakes 链接保留在根目录以实现反向兼容性?如果没有,我们如何为被告知“去根,寻找蛋糕”的可怜的小代理进行“重定向”?
我错过了什么?
【问题讨论】:
标签: rest client hypermedia