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