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