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 数据。