RESTful資源


什麼是資源?

REST架構對待每一個內容都作為一種資源。這些資源可以是文字檔案,HTML網頁,圖片,視訊或動態業務資料。 REST伺服器只是提供資源,REST用戶端可存取和修改的資源。這裡每個資源由URI標識/全域性標識。 REST採用各種交涉代表的資源如文字,JSON,XML。 XML和JSON是資源的最流行的表示。

資源表示

在REST資源是在物件導向程式設計或資料庫類似於實體類似的物件。一旦資源被標識則其表示是用一個標準的格式來決定,以便伺服器可以傳送資源上文所述的格式和用戶端可以理解的格式。

例如,在REST Web服務 - 第一個應用教學,使用者是使用下面的XML格式表示資源:

<user>
   <id>1</id>
   <name>Mahesh</name>
   <profession>Teacher</profession>
</user>

同樣的資源也可以使用JSON格式表示如下:

{
   "id":1,
   "name":"Mahesh",
   "profession":"Teacher"
}

好的資源表示

REST並沒有對資源表示格式有任何限制。用戶端可以請求JSON表示,其中作為另一種用戶端可能會要求同一資源的XML表示到伺服器等。它是REST伺服器的負責傳遞用戶端的資源到用戶端可以理解的格式。

以下是在設計資源的表示形式在一個RESTful Web服務要考慮的重要因素。

  • 易懂: 伺服器和用戶端應能夠理解和使用的資源的表示格式。

  • 完整: 格式應當能夠完全代表一個資源。例如,一個資源可以包含其他資源。格式應該能夠代表簡單以及資源的複雜的結構。

  • 可連結: 資源可以有一個聯動到另一個資源,一個格式應當能夠處理這種情況。

然而,目前大多數的Web服務使用XML或JSON格式代表的資源。有很多可用的理解,分析,並修改XML和JSON資料庫和工具。