RESTful Web 服务 - 资源



什么是资源?

REST 架构将所有内容都视为资源。这些资源可以是文本文件、HTML 页面、图像、视频或动态业务数据。REST 服务器只提供对资源的访问,而 REST 客户端访问并修改资源。这里每个资源都由 URI/全局 ID 标识。REST 使用各种表示来表示资源,例如文本、JSON、XML。最流行的资源表示是 XML 和 JSON。

资源的表示

REST 中的资源类似于面向对象编程中的对象,或类似于数据库中的实体。一旦识别出资源,就需要使用标准格式确定其表示形式,以便服务器可以使用上述格式发送资源,并且客户端可以理解相同的格式。

例如,在RESTful 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 数据。

广告