RestFul API最佳實踐

定義

1、什么是Rest?

REST即表述性狀態傳遞(英文:Representational State Transfer,簡稱REST)是Roy Fielding博士在2000年他的博士論文中提出來的一種軟件架構風格。它是一種針對網絡應用的設計和開發方式,可以降低開發的復雜性,提高系統的可伸縮性。
目前在三種主流的Web服務實現方案中,因為REST模式的Web服務與復雜的SOAP和XML-RPC對比來講明顯的更加簡潔,越來越多的web服務開始采用REST風格設計和實現。

2、什么是RestFul API?

  • Restful是一種軟件設計風格,它遵循Rest約束條件和原則。

  • RestFul API 基于Rest理論,輕量級以及通過 HTTP 直接傳輸數據的特性,通常來說,使用JSON描述數據,可以使用各種語言(比如 Java 程序、Perl、Ruby、Python、PHP 和 Javascript[包括 Ajax])實現客戶端。

  • RestFul API基于資源,每個資源都有一個地址。資源的增刪改查只是對于資源狀態的改變。使用HTTP動詞來操作資源,包括 HTTP GET、POST、PUT、DELETE,還可能包括 HEADER 和 OPTIONS。并且使用RestFul API每個動詞都有明確的意義,不能隨便使用。

3、RestFul API實踐

3.1操作
  • POST:創建
  • PUT:更新
  • GET:查詢
  • DELETE:刪除
3.2狀態碼,錯誤碼,統一錯誤描述

一般每個操作,都會對應一個狀態碼,這個狀態碼有框架設計,如get:200 post:201

  • 404 當前請求的頁面沒有找到(RestFul API資源沒有找到)
  • 400 參數錯誤(驗證層參數校驗沒有通過)
  • 200 一個get請求查詢成功
  • 201 一個post 創建資源成功
  • 202 一個put更新資源成功(特別:在http應用中,202表示發送請求成功,服務器暫時沒有處理)
  • 401 未授權
  • 403 當前資源被禁止
  • 500 服務器錯誤
    錯誤碼:自定義的錯誤id號
    同意錯誤描述:錯誤碼、錯誤信息、當前URL

4、使用Token令牌來授權和身份驗證

5、開發

參考:
1、豆瓣API
https://developers.douban.com/wiki/?title=api_v2
2、

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容