我创建了一个非常简单的RESTful Web服务。它只支持GET(= read)方法,例如:
http://localhost/application/id/xyz
从数据源查询此ID的相应信息并作为JSON返回。 现在我的问题:(如何)在这种情况下我应该实施HATEOAS?它甚至有意义吗?我知道HATEOAS在结构更复杂时是合理的。但在这种情况下,没有其他资源可以链接到。客户端使用特定ID调用Web服务,服务器返回信息。
谢谢!
答案 0 :(得分:0)
在HATEOS中,您的返回值不是ID,而是URL。调用该URL会将您链接到Web中的下一个资源。就像包含指向其他网页的链接的网页一样。
答案 1 :(得分:0)
正如您所说“客户端使用特定ID调用网络服务”听起来您已经编写了客户端来访问您服务中的特定网址,其中包含访问生成的网址由客户端,即您的客户端应用程序已经知道它可以http://localhost/application/id/xyz
访问xyz
ID。
如果您想利用HATEOAS的一些强大功能并将自己与此(轻微)依赖关系分离,您可以改为查询http://localhost/application/id?query=xyz
,它可以返回有效链接列表(如果存在)。这样,您可以更改链接URL的格式或结构,而不会出现客户问题(当然,您仍然会以某种方式依赖查询URL)。
然而,由于您的使用非常简单,这听起来有点矫枉过正和不必要的工作,所以我建议您在拥有更复杂的系统或客户端之前不必担心HATEOAS:)