2011-03-08 67 views
2

我们正在计划一个新项目,其中将有一个API供客户使用,以便从他们自己的网站和系统与我们的应用程序进行交互。然而,过去从来没有建立过任何与完善的API接近的东西,但我不知道任何可用的标准或建议,并可用于使我们的客户更容易地调整API。哪个API标准?

我们将使用PHP构建API,API的某些部分需要身份验证,而其他部分则不需要。截至今天,我已经读了一些关于Oauth的文章,SOAP & REST,但我不知道什么是好的实践。

建议基于2011+的API采用什么技术/标准?

+1

我个人以oauth v2投票支持其他api。 – zerkms 2011-03-08 14:15:20

+0

棘手的问题:我看到服务暗示使用http-basic-auth,而其他服务需要URL中的API令牌。奥尤斯对我来说似乎相当沉重。 SOAP和REST不是关于身份验证,而是关于将数据公开给用户以及他们如何查询的方式。 – Wukerplank 2011-03-08 14:19:06

+2

尽管您可能会在您的服务中选择SOAP和REST,但您还应该查看它们之间的技术差异并查看哪一个适合您的需求:http://stackoverflow.com/questions/28950/guide-to-选择休息-VS-SOAP的服务间。但除非您真的需要SOAP的任何功能,否则我认为REST应该是您的首选。 – birryree 2011-03-08 14:19:50

回答

4

有很多选择,但我建议您可能会发现从PHP发布SOAP API非常棘手,难以维护。

原因是PHP内没有固有的WSDL生成,所以你要么必须自己推出(并且每次修改它),要么尝试使用其中一个第三方工具 - 其中没有一个过去我发现特别令人满意。

我建议在PHP中实现API的更直接的方法是沿着RESTful路线走下去。

+1

第二个REST。 – Summer 2011-03-08 14:28:03

1

我会查看成功的API所做的选择,这些API可通过像MasheryProgrammable Web这样的站点获得。在选择技术之前,通过关注成功的API模式,您将有更好的机会使API发挥作用并取得成功。