RESTful Web 服务 - 资源


什么是资源?

REST 架构将每个内容视为资源。这些资源可以是文本文件、Html 页面、图像、视频或动态业务数据。REST 服务器仅提供对资源的访问,而 REST 客户端则访问和修改资源。这里每个资源都由 URI/全局 ID 来标识。REST 使用各种表示形式来表示资源,其中包括 Text、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 数据。