几天来,我一直在阅读“真正的”RESTful API,我想我已经接近于摸索它的内容了。
但我偶然发现的一件事是,我什至无法想象如何为“真正的”超媒体 API 编写客户端:
我读过的大多数例子都是关于浏览器和蜘蛛的,但这并不是特别有用:一个是人为导向的“智能”,另一个是愚蠢和“随机”的。就目前而言,我的印象是你需要学习人工智能才能让客户工作。
我不清楚的一件事是客户如何知道在任何给定链接上使用哪个动词?这是否隐含在 uri 的“rel”类型中?另一种选择(在这里阅读)似乎是使用 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
链接保留在根目录以实现反向兼容性?如果没有,我们如何为被告知“去根,寻找蛋糕”的可怜的小代理进行“重定向”?
我错过了什么?