鍍金池/ 教程/ Java/ RESTful Web 服務(wù) - 資源
RESTful Web 服務(wù) - 環(huán)境設(shè)置
RESTful Web 服務(wù) - 資源
RESTful Web 服務(wù) - 第一個(gè)應(yīng)用
RESTful Web 服務(wù) - 緩存
RESTful Web 服務(wù) - 方法
RESTful Web 服務(wù) - 安全性
RESTful Web 服務(wù) - 尋址
RESTful Web 服務(wù) - 無(wú)狀態(tài)
RESTful Web 服務(wù) - Java (JAX-RS)
RESTful Web 服務(wù) - 介紹
RESTful Web 服務(wù) - 消息

RESTful Web 服務(wù) - 資源

什么是資源?

REST 架構(gòu)把所有內(nèi)容都視為資源。這些資源可以是文本文件,html 頁(yè)面,圖像,視頻或者動(dòng)態(tài)業(yè)務(wù)數(shù)據(jù)。REST 服務(wù)器只提供對(duì)資源的訪問(wèn),REST 客戶端訪問(wèn)和修改資源。這里每個(gè)資源都通過(guò) URIs/ 全局 IDs 標(biāo)識(shí)。REST 使用不同的表示形式表示資源,比如文本,JSON,XML。XML 和 JSON 是最流行的資源表示形式。

資源表示形式

REST 中的資源類似于面向?qū)ο缶幊讨械膶?duì)象或者類似于數(shù)據(jù)庫(kù)中的實(shí)體。一旦資源被確定,它的表現(xiàn)就會(huì)決定使用某個(gè)標(biāo)準(zhǔn)的格式,因此服務(wù)器可以按照上述格式發(fā)送這些資源,客戶端也可以理解同樣的格式。

比如,在 RESTful Web 服務(wù) - 第一個(gè)應(yīng)用 教程中,用戶就是一個(gè)資源,其中使用如下所示的 XML 格式表示:

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

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

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

良好的資源表示形式

REST 并不對(duì)資源表示格式施加任何限制。對(duì)于服務(wù)器上的同一資源,一個(gè)客戶端可以要求使用 JSON 表示,而另一個(gè)客戶端可能會(huì)要求使用 XML 表示。REST 服務(wù)器的責(zé)任就是以客戶端理解的格式傳遞客戶端資源。

下面是在 RESTful Web 服務(wù)中設(shè)計(jì)資源表示格式時(shí)要考慮的重點(diǎn)。

  • 可理解性:服務(wù)器端和客戶端都應(yīng)該能理解和利用資源表示格式。
  • 完整性:格式應(yīng)該能夠完整地表示一個(gè)資源。比如,資源可以包含另一個(gè)資源。格式應(yīng)該能夠表示簡(jiǎn)單以及復(fù)雜的資源結(jié)構(gòu)。
  • 可連接性:資源可以鏈接到另一個(gè)資源,格式應(yīng)該能夠處理這種情況。

然而,目前大多數(shù) Web 服務(wù)都使用 XML 或者 JSON 格式表示資源。有很多庫(kù)和工具都可以用來(lái)理解,解析和修改 XML 和 JSON 數(shù)據(jù)。