Web services 最佳SOAP/REST/RPC web API的示例?你为什么喜欢它们?还有什么';他们怎么了?
在我的公司,我们开始进入web API以访问和更新我们的数据;最初是针对合作伙伴的,但以后可能会公开。目前,API的外观(例如SOAP、REST、RPC)是完全开放的,我们还没有做出任何决定,因此我对人们认为好的两个web API示例以及您认为好的原因感兴趣 我感兴趣的是使用不同语言的人(我们可能会向使用多种平台的人提供API,特别是包括.NET、Java、ActionScript和JavaScript)对web API的看法,您认为这些API是很好的示例,并且您对这些API有很好的体验 我想谈几点:Web services 最佳SOAP/REST/RPC web API的示例?你为什么喜欢它们?还有什么';他们怎么了?,web-services,rest,soap,rpc,Web Services,Rest,Soap,Rpc,在我的公司,我们开始进入web API以访问和更新我们的数据;最初是针对合作伙伴的,但以后可能会公开。目前,API的外观(例如SOAP、REST、RPC)是完全开放的,我们还没有做出任何决定,因此我对人们认为好的两个web API示例以及您认为好的原因感兴趣 我感兴趣的是使用不同语言的人(我们可能会向使用多种平台的人提供API,特别是包括.NET、Java、ActionScript和JavaScript)对web API的看法,您认为这些API是很好的示例,并且您对这些API有很好的体验 我想谈
/v1/
类型的子目录是一个好主意,这样将来的版本可以一起添加,还是您会做一些不同的事情,比如在请求负载或查询中添加版本?您希望构建的API版本支持多长时间(即,如果引入了v2,在v1的生命周期内,您的期望值是多少)注意:我已经搜索过了,但找不到关于这个问题的一般性问题-它们似乎都是特定于某一类型的API的-但是如果它是重复的,请让我知道。此外,如果它应该是社区维基(我认为人们应该得到信用的答案,所以我没有一个),那么请让我知道,我会改变它 IMHO,这完全取决于你提供的应用程序类型。如果您正在做重要的、大时间的事务,那么一定要使用SOAP(他们称之为WS“死亡之星”)。但是,如果你提供社交应用,那么就使用REST,因为它更简单,更适合于公开黑客攻击。这里详细介绍了使用内容类型标题对REST进行版本控制:
如果你不能下定决心,最终你可以实现它们。在这些情况下,看看其他人是如何做到的是很有用的。我建议您使用开源XML本机数据库,提供您正在研究的三种类型的接口。我想看看亚马逊在做什么——显然,从这些东西中赚钱的人会比其他人学到更多的经验教训
我想看的其他API——salesforce.com和微软的CRM API相当有趣。Twitter也有一个久经考验的REST api。REST如果做得正确,很容易理解(HTTP模型),简单(面向资源),几乎可以被每种编程语言(XML)解析。你可能对Joshua Bloch的演讲“如何设计一个好的api以及它为什么重要”感兴趣。Joshua Bloch是《高效Java》一书的作者,也是Google的首席软件工程师和首席Java架构师 摘要: 幻灯片: 视频:这是我的看法
至于您支持旧版本协议的时间。。。理想情况下,只要你有客户使用它。这更多的是商业决策,而不是技术决策。您应该至少支持一个以前的协议版本。通常在你的房间里