我目前正在编写API的规范,其工作原理如下:
传输的数据非常轻。大多数响应将小于1k,最大响应将只有10k。
向后兼容性很重要。我希望旧客户端能够继续正常使用服务器的升级版本。
这是我想告诉客户的: -
即使现在在响应中返回了其他信息,老客户端仍将继续工作。 (从XML中删除元素显然更加困难,并且需要一些弃用过程)。
记录返回的XML的最佳格式是什么?
我担心在本文档中使用正式语言(例如XSD):
或者,我是否认为向后兼容性错了?这已经是一个解决得很好的问题了吗?客户端是否应该要求特定版本的响应XML?
答案 0 :(得分:0)
IMO,您应该发送客户端所需的版本以及请求并返回该格式。因为您无论如何都需要计算以前版本的信息,当您知道客户端不会使用它时,不需要臃肿。如果您有一个支持响应代码的xml独立数据结构,您甚至可以将xml创建者重用于旧式响应。
当然,这假设响应文档是动态创建的。否则,XQuery或类似的东西不会完全符合您的要求:仅针对已知元素/值过滤文档吗?