【发布时间】:2019-04-05 16:07:06
【问题描述】:
在我指定和设计 REST API 的这些年中,我越来越发现这与设计一个网站非常相似,在该网站中,用户的旅程、操作和链接都是故事板,并且对 UX 至关重要。
在我目前的 API 设计中,我在项目和资源底部返回链接。它们执行操作、改变状态或恢复其他资源。
但好像每个链接都在一个新标签页中打开;客户探索了一条新路线,他们的下一个选择可能会随着时间的推移而缩小。
如果这是一个网站,它不一定是一个好的设计。用户必须在新选项卡中打开链接或一直备份堆栈才能完成工作。
好的网站只是转发的,或者确实有一种方法可以表明主流的分支,即在新窗口中自动打开链接(通过锚标记target)。
那么,一个好的 REST API 是否应该被设计成客户端丢弃当前资源并前进到下一个并始终向前推进?
或者我们是否假设客户正在构建地图,例如正在探索我们客厅的 Roomba?
关于地图概念的事情是,一个人应该返回到以前的资源的知识,在它可能知道的许多资源中,是在一个有知觉的人类身上,一种猜测。计算机无法猜测,因此需要编程,这意味着带外静态文档和破坏 REST。
【问题讨论】:
标签: rest hateoas hypermedia