我正在研究一個企業系統,該系統將在移動客戶端和中央服務器之間使用REST風格的Web服務。儘可能RESTful,讓我們說。REST風格的Web服務:試圖通過自定義XML實現HATEOAS
我的問題涉及HATEOAS(超媒體作爲應用程序狀態的引擎)以及在HTTP響應主體中使用自定義xml。
該系統將永遠永遠被公共客戶端使用,但我喜歡的是能夠修改服務器端的資源分配格局的思路HATEOAS後無需重新配置獨立每個客戶端。如果我們決定由於擴展問題,我們需要將服務器功能分散到多個物理盒子中,沒有問題,這將反映在客戶端(或客戶端指令下的服務器)創建新資源時生成的URI中。
我們的業務領域是非常具體和不尋常的。因此,我希望在整個Web服務中爲HTTP響應實體主體使用自定義XML,並且客戶端將從XML中解析資源URI,以便隨時瞭解修改其自身應用程序狀態時可以使用的資源位置。我知道這'打破'了HATEAOS的H部分。
例如當客戶端將事務POST到服務器進行處理時,服務器可能會在201 HTTP響應正文(作爲更大的xml文檔的一部分)中包含以下xml片段。服務器也會通知客戶端URI爲新創建的事務資源本身,但這可能只包含在Location HTTP頭中。
<resulturi>http://resultserver/results/1234.xml</resulturi>
這是所以壞?使用這項服務的客戶幾乎不可能基於瀏覽器。超媒體在xml中以純文本的形式提供uris的其他優點是什麼?
我想我可以去XHTML,但是我們的移動平臺上的解析器對於POX來說效率更高。
>我知道這'打破'了HATEAOS的H部分。 是嗎?我不知道HATEOAS會對您可以使用的內容類型加以限制。 – trendels 2009-09-09 12:09:05