处理休息服务

时间:2013-07-29 15:38:44

标签: rest restful-url json-rpc

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

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

喜欢

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

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

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

谢谢!

-Alessandro

1 个答案:

答案 0 :(得分:1)

REST的答案是你不应该构建URL。在REST租户之后的系统中,您将跟踪为您提供的资源链接,以便购买导航系统的超媒体。您从一个合理的知名URL开始,作为导航的根目录,并从那里浏览资源。

这称为HATEOAS - Hypermedia as the Engine of Application State。它是REST架构约束之一。

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

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

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

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