RESTful服务描述

4
根据我的理解,我需要使用WADL来描述RESTful web服务。但是,在相关帖子中,我读到了许多用户强烈反对使用WADL的回答。
WADL的缺点是什么?有没有替代方案?

1
你想要实现什么目标?为什么你需要一个正式的服务描述呢? - William Pietri
@William:如果有一种可以被工具消费的描述,帮助为您生成访问代码,那将是非常好的。 - John Saunders
@John:这可能很好,也可能表明您的工具不太适合解决问题。代码生成是提取重复内容和增加表现力的差劣替代品。 - William Pietri
@William:我说的是“一个工具”。我没有指特定的工具。如果有计算机可读的描述,那么就可以创建“一个工具”。如果没有计算机可读的描述,则没有工具。 - John Saunders
1个回答

4
HTTP规范告诉你如何检索和更新资源。 资源由URI标识,并且应该链接在一起,因此所有数据都应该从服务根URL中发现,就像网站上的页面一样。 这样做留下的就是为您记录通过网络传输的媒体类型。
如果您采用这种方法并在服务之间重复使用媒体类型,则只需一次记录媒体类型,它将适用于所有服务。
完成这些步骤后,WADL实际上没有什么可以记录的了。
如果您想使用REST,则不能使用WADL来生成客户端代码,因为那会在客户端和服务器之间创建紧密耦合。 如果您愿意接受这样的情况,那很好,但请意识到您不是在使用REST,因此将无法实现REST的某些好处。

1
没错。更多信息请参考 REST 术语的创造者 Roy Fielding 的这篇文章:http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven - William Pietri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接