我負責爲iOS應用程序生成服務器後端的項目。有沒有一種標準的方式來爲iOS客戶端做合同優先的Web服務端點?
我想正式定義客戶端調用的服務接口,以便IOS,Android和服務器團隊都可以實踐契約優先開發。
在黑暗的過去,我們會使用WSDL並生成RPC風格的客戶端和服務器互操作樣板文件。然而,這不是IOS項目的規範。我們也研究過Apache Thrift,但是沒有Swift的代碼生成器,Objective-C生成器似乎產生依賴於不推薦的IOS API的代碼。
這將我們帶到了REST,它很適合作爲移動物體狀態的方式。對於那種說:「嗨服務器,用這些參數做X並返回給我一個結果」的對話似乎不太好。我們最終創建了用於特定操作的服務器端控制器,並且通過爲獲取正確的參數而使用sticklers來「定義」服務的調用約定。合同最後。
有沒有一種標準的方式來爲iOS客戶端開展合同優先的Web服務開發,還是我只需要將文檔視爲規範?
與REST的問題是,在客戶端 - 服務器接口的*規格*是廣告-hoc。我正在尋找某種形式的界面定義語言。 此外,當您有像「sendConfirmationToken」這樣的服務器端操作時,我不確定如何以RESTful方式公開該操作。只是使用JSON作爲請求主體並不會使RESTful成爲可能。 –
那麼,答案是否定的。我會更新我的答案以反映這一點。 – Nick