这是一个由多部分组成的问题。我刚刚看了首席开发人员(我的硕士项目毕业生)在YQL上的一个非常有趣的演示。虽然它非常引人注目,我也期待着尝试它,但我想知道,是否有人知道查询多个web服务API的替代框架,使它们看起来像是无缝的,YQL的明显目的?
Yahoo的策略是创建XML模式定义,将给定web服务的参数绑定到它们的YQL Open Table查询参数中,我认为这非常聪明。有没有什么工具可以尝试(也许我在这里太天真了)自动发现REST API中的参数?我知道使用SOAP,因为有一个已发布的WSDL,它使自动化变得更容易,但是使用REST还没有办法做到这一点吗?有人试过了吗?
发布于 2009-09-24 13:59:42
是的,人们正在尝试为REST开发描述语言。最受欢迎的是WADL。这里有很多关于WADL的问题。这是个好主意吗?在我看来不是。
REST不需要超媒体之外的发现模型,因为它试图在与web服务不同的架构层解决问题。Web服务将数据传递到应用程序的业务逻辑/域模型。REST是关于将内容和行为传递到表示层。
打个比方怎么样?想一想C++中对象和结构之间的区别。结构只是一些客户端进程将要操作的简单数据。这就是web服务所做的,它返回一个数据块,一个结构。当然,它可能做了一堆服务器端处理来产生结果,但最终结果是一块数据。REST接口提供一个对象。即它既包含可用于操作该对象的数据又包含可用于操作该对象的方法。根据定义,如果您了解统一接口并了解返回的媒体类型,那么您已经知道可以对响应做什么了。发现机制是多余的。
如果你觉得这很难相信,那就想想网络吧。web浏览器如何发现网页?web没有正式的发现机制,但我们可以使用web浏览器发现外面的信息世界。
发布于 2010-03-10 17:40:22
有一个小网站http://zachgrav.es/yql/tablesaw/,它可以自动发现REST api中的参数,并将其转换为YQL兼容表。
发布于 2012-06-18 04:16:43
有两种方法可以查找信息。你要么使用100%明确的语言,要么使用自然语言。像YQL这样介于两者之间的任何东西都注定要失败,因为它既不能提供任何东西,也只能用它的作者所鼓吹的例子很好地工作。
我在http://zscraper.wordpress.com/2012/05/30/enough-with-crawling-2上写了一篇关于这个的博客。我个人的立场是,如果你先做功课,比如研究目标领域,找出如何明确地查询它,你总是会得到最准确的结果。
来回答您的问题并为您提供另一种选择--试试。这是一个云支持的抓取服务,您可以通过REST API进行控制。使用传统语法编写“查询”(Bobik支持Javascript、JQuery、XPATH和CSS),并调用Bobik从任何客户端环境(网页、移动应用程序或服务器)运行它们。
希望这能有所帮助。
https://stackoverflow.com/questions/1471742
复制相似问题