RESTful Web服务:尝试使用自定义XML实现HATEOAS
我正在开发一个企业系统,它将在移动客户端和中央服务器之间使用RESTful Web服务.尽可能使用RESTful,让我们说吧. 我的问题涉及HATEOAS(超媒体作为应用程序状态的引擎),以及在HTTP响应主体中使用自定义xml. 该系统永远不会被公共客户端使用,但我喜欢HATEOAS的想法,即能够在以后修改服务器端资源分配模式,而无需独立地重新配置每个客户端.如果我们决定由于扩展问题我们需要在多个物理盒上扩展服务器功能,没问题,这将反映在客户端(或来自客户端的指令下的服务器)创建新资源时生成的URI中. 我们的业务领域非常具体和不寻常.因此,我想在整个Web服务中为HTTP响应实体主体使用自定义XML,并且客户端将从xml中解析资源URI,以便随时了解它在修改自己的应用程序状态时可以使用的资源位置.我知道这会“打破”HATEAOS的H部分. 例如当客户端将事务发送到服务器进行处理时,服务器可能在201 HTTP响应主体中包含以下xml片段(作为更大的xml文档的一部分).服务器还会通知客户端新创建的事务资源本身的URI,但这可能只包含在Location HTTP头中. <resulturi>http://resultserver/results/1234.xml</resulturi> 这真糟糕吗?使用此服务的客户端几乎不可能基于浏览器.超媒体在xml中以纯文本形式提供uris的其他优点是什么? 我想我可以去XHTML,但我们的移动平台上的解析器使用POX更有效率. 解决方法你在resulturi中返回url所做的事实上已经是超媒体了.唯一的问题是你需要一种媒体类型来告诉客户端如何格式化响应,以便它能够以可预测和记录的方式解析URL.选项1: 选项2: 选项3:使用XHtml.我不明白为什么你的解析器有Xhtml的问题,但我会接受你的话. (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |