PayPal API風格指南和設計模式
PayPal通過RESTful API將自己的平臺打造成彼此連接的服務。他們為此提供了用于創建和使用這些API的 指南 和 設計模式 ,其他開發者可以在自己的項目中使用這些指南和模式。
PayPal的API設計指南經過多年的開發和演化,包含了如下的一些原則。
- 低耦合:服務與消費者之間必須是低耦合的。
- 封裝:一個服務只能通過其他服務提供的接口來訪問不屬于它的數據和功能。
- 穩定性:服務接口必須保持穩定。
- 可重用性:服務必須能夠為多個上下文和多個消費者所重用。
- 基于協議:功能和數據必須通過標準的服務協議暴露出來。
- 一致性:服務必須遵循一系列規則、迭代風格、詞匯表和公共類型。
- 易用性:對消費者應用程序來說,服務必須易于使用。
- 外部化(externalizable):服務提供的功能必須易于被外部化。
業務能力以資源的形式暴露出來,這些資源都有自己的名字。為了避免重復,同一個資源只能由一個服務來提供,并通過HTTP方法來實現資源的CRUD操作:
- GET:用于獲取一個資源。
- POST:用于創建一個資源,或者執行更復雜的操作。
- PUT:用于更新一個資源。
- DELETE:用于刪除一個資源。
- PATCH:用于部分更新一個資源。
HTTP通過 JSON數據交換格式 來傳輸數據,這些格式都定義了 JSON Schema 。Schema支持JSON原始類型,如字符串、數字、枚舉、數組、空值(null),以及 常用類型 ,如地址、貨幣、日期、時間、國家、電話號碼等。
API指南里包含了 HATEOAS代碼示例 ,演示了如何使用超鏈接來實現REST。還有關于如何使用HTTP頭部字段(標準和自定義的)和狀態碼的指南,如映射HTTP方法和狀態碼、URI的命名約定、查詢參數、資源、錯誤處理、版本管理和棄用規則。PayPal還公開了另一份文檔—— API設計模式和用例 ——詳細說明了API的使用模式并提供了示例代碼。
查看英文原文: PayPal’s API Style Guide and Patterns
來自:http://www.infoq.com/cn/news/2017/09/paypal-api-guide
本文由用戶 AdadeCastel 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!