0

我一直想知道一种很好的方法来实现(实际上绑定)作为客户端的宁静服务。

您经常会看到在高级代码中连接 URL-“字符串”的代码片段,这显然是非常混乱的。

喜欢

 "http://service.url/firstname/" + $firstname + "/surname/" + $surname

这样做的正确方法是什么?

对我来说,使用经典 rpc (JSON/XML-RPC) 方法可以更轻松地解决这个问题,在这种方法中,您可以签订合同,并且可以对您的期望更加严格。

谢谢!

-亚历山德罗

4

1 回答 1

1

REST 的答案是您不应该构建 URL。在遵循 REST 租户的系统中,您正在跟踪指向已为您提供的资源的链接,以便您在系统的超媒体中导航。您从一个合理的知名 URL 作为导航的根开始,然后从那里浏览资源。

这被称为HATEOAS - 超媒体作为应用程序状态的引擎。它是 REST 架构约束之一。

此约束的显着优势是将客户端与 API 解耦,以使 API 可以随时更改其 URL 方案,并且各个客户端不必进行类似的更改。对“旧” URL 的请求会出现 300 范围的错误,并且新 URL 会逐渐填充到它们的缓存中。

就性能而言,缓存这些 URL 是合理的,只要您遵守 300 范围的代码并适当地更新缓存的 URL。

这意味着,如果您想访问具有给定名称的特定用户,您会假设您已经缓存了他们的 URL,或者您有一种机制(如 OpenSearch)来查找符合条件的用户。您不会“构建” URL,除非该服务为您提供了一个模板供您填充。

您可以在http://www.thomas-bayer.com/sqlrest/找到一个很好的 REST 服务教育示例。您的浏览器是一个足以与服务交互的客户端,并且应该演示任何客户端如何通过遵循超媒体格式来发现系统资源。

于 2013-07-29T15:48:45.583 回答