2011-03-08 30 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發揮作用並取得成功。