在我们的项目中,可以通过 POST 或 PUT 请求发送书籍结构(XML、JSON 等)来添加书籍。例如,在 XML 中,书本结构如下所示(简化):
<book>
<title>My Book</title>
<author>John Q.</author>
</book>
当这本书插入我们的后端数据库时,会自动添加一些自动生成的属性,例如创建日期、提交该书的用户 ID、标识符、...
当通过 GET 检索图书时,这些附加属性包含在图书定义中:
<book>
<title>My Book</title>
<author>John Q.</author>
<info>
<creation_date>2011...</creation_data>
<user_id>48</user_id>
<identifier>my_book_john_q</identifier>
</info>
</book>
这基本上意味着新书/编辑书(= 从客户端到服务器)的 XML 方案与检索到的书(= 从服务器到客户端)不同。这使事情变得混乱。
一种可能是使这些附加属性在不同的 URI 中可用,例如:
http://server/books/:id/ -> returns the short version
http://server/books/:id/information/ -> returns the generated properties
这种方法的一个缺点是需要两个单独的请求来获取所有数据。
您将如何解决这种不一致?