2014-02-16 36 views
-2

我一直在試圖理解一個應用程序或庫或框架是RESTful的含義嗎?例如,爲什麼說瓶子或瓶子是RESTful而cgi + wsgiref不是?對於應用程序或庫或框架來說,RESTful是什麼意思?

請您以最少的代碼示例說明來描述RESTful應用程序?

+0

鏈接的問題解釋了REST是什麼,但作爲一個想編寫RESTful應用程序的程序員,我認爲我不知道從哪裏開始。 – MxyL

+0

什麼是您的技術堆棧? – cirrus

+0

@cirrus Linux,Nginx,uwsgi,Python 3,bottle.py –

回答

1

REST是一種架構設計模式;你可以閱讀更多關於各種細節at wikipedia

這個想法是爲了影響數據的變化,在HTTP動詞(GET,POST是你可能熟悉的)後面加上意思。使用代表特定實體組的端點(URL)來訪問API。

總之,這裏是應該如何其工作:

  • GET獲取有關特定實體的信息。
  • POST創建有關特定實體的新紀錄
  • PUT更新現有實體的信息。
  • DELETE顯然刪除一個實體的記錄。

設計良好的應用程序使用HTTP響應代碼(例如您已經習慣的200和404)來指示針對端點的操作結果。

有大量的材料,在那裏創建RESTful API中和服務,人們是如何做REST對還是錯一個健康的辯論。我將這些研究留給你。

具有HTTP庫可用於公開現有數據的REST API的任何語言,但也有像apigeemashery公司和圖書館像Google Cloud Endpoints是照顧粗活的爲您服務。

對於Python來說,有很多庫。其中最受歡迎的是Django REST Framework,它與一起使用。還有Flask-RESTful,它使用

還有this question討論了更多REST Python框架。

1

你要求爲「構建RESTful應用程序」顯示你的困惑。 REST是模型接口到應用程序的一種方式,作爲Web上的(通常爲HTTP)資源的集合,以期望的方式響應標準Web動詞(例如,GET讀取,DELETE銷燬,PUT更新)。更重要的是,在高質量的RESTful界面中,資源以描述的方式彼此鏈接;客戶端從不需要發明任何資源的名稱,因爲它可以跟隨鏈接(或者記住它之前看到的URL;這也是合法的)。內容協商也是A-OK;讓客戶說什麼樣的資源表示形式是首選,並讓服務器提供,如果可以的話。

如果同時觀看關於請求(特別的方法中,路徑和其它標題)足夠的信息,應用程序可以爲(或內)起作用的web服務器然後可以用它來呈現RESTful接口。它擁有真正需要的一切。一些圖書館協議通過爲各種協議提供更多支持,使其比其他協議更容易,但這只是一個問題,你必須做多少工作,而不是利用其他協議。

+0

這開始作爲評論,但得到太長時間... –

相關問題