RESTful - Web 服务资源

  • 什么是资源?

    REST 架构将每个内容都视为一种资源。这些资源可以是文本文件、Html 页面、图像、视频或动态业务数据。REST Server 只是提供对资源的访问,而 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 数据。