【发布时间】:2023-03-13 07:21:01
【问题描述】:
我有理由确定我了解 HATEOAS 设计的服务器端——在响应中返回状态 URL——但我对如何设计客户端来接受这些有点困惑。
例如,我们访问 //somehost.com/resource/1 上的资源 - 这为我们提供了资源数据和链接。我们假设返回到 //somehost.com/resource 的 POST,表示一个“新”操作。现在我知道将一些数据发布到该 url 会创建一个新资源并提供响应,但是发布该数据的表单在哪里?我已经看到 //somehost.com/resource/1/new 提供了一个 POSTS 到 /resource 的表单的实现,但是该 URL 本身包含一个动词,并且似乎违反了 REST。
我认为我的困惑在于我在同一个应用程序中实现了一个 RESTful API 和一个使用它的客户端。
这种事情有什么最佳实践吗?
【问题讨论】:
-
您在询问架构。一些 API 和客户端使用它,但有些更紧密耦合并且只是基础,例如。在文档上(而不是在资源表示上)。还要确保模式在“更新”调用使用的内容和“创建”调用的预期内容之间是通用的(我已经看到这两个完全不同的方法,在我看来这只是不好的做法,因为它引入了一些不一致) .