2011-03-16 78 views
0

我想要寫一個服務這需要一個XML文件(任何XML文件)和一對夫婦的參數作爲輸入,併產生一個轉換的XML文件作爲其輸出。因此,舉例來說,如果我需要的服務,消除褻瀆,參數將是一個嚴重treshold(從darnf***規模)和改造(f***ing[email protected]%%ingflipping)模式的XML的實際格式無關,輸出將始終與輸入格式相同。 (你指出前,這是徒勞無益的。這不是我真正想要顯然構建服務)如何在REST中表示轉換?

雖然我已經使用基於REST的服務,我有點新來設計它們和我真的不知道如何在資源/收集成語適應這一點,更重要的是,如何使其真正REST狀,避免WADLs並使得界面自描述來代替。還是REST根本就不是這個的正確工具?

+0

聽起來很難對我來說 – skaffman 2011-03-16 16:38:21

+0

@skaffman我不一定想把它塞進REST,我只是想知道,如果這只是我缺乏的經驗,使它很難適應,或者它真的不適合一個好主意。 – biziclop 2011-03-16 18:50:02

回答

1

Httpbis

POST被設計成允許一個均勻 方法包括以下 功能:...提供 數據,塊如提交 一個 形式的結果,到數據處理過程;

例如:

POST /ProfanityRemover?level=3 
ContentType: application/xml 

<Foo> 
    <Blah>Damn</Blah> 
</Foo> 

=> 
200 OK 
ContentType: application/xml 

<Foo> 
    <Blah>Poop</Blah> 
</Foo> 
+0

這看起來很有希望,但我怎麼記錄哪些參數可用,什麼是他們所接受的價值?使用超鏈接進行某種發現?有沒有一個標準或至少有一個相當普遍的做法呢? – biziclop 2011-03-16 20:06:28

+0

@biziclop爲您服務的根URL返回一個包含URI模板,提供訪問您ProfanityRemover資源的文檔。見http://tools.ietf.org/html/draft-gregorio-uritemplate-04 – 2011-03-16 23:07:44

+0

這正是我之後的事情,非常感謝。我想我可以有另一個url,它返回可能被GET代替的值。 – biziclop 2011-03-16 23:34:55

1

這是一個很難回答的問題從靜止的角度來回答,因爲你描述的服務沒有任何服務器端資源 - 有沒有服務器狀態的轉移請求和答覆。所有的狀態都是客戶端。傳統上,這將由GET處理,但您可能不希望將XML文檔寫入查詢字符串。

也許你使用達雷爾 - 米勒提出的方法是最好的。將文檔作爲主體發佈到您希望的端點,並將響應的主體作爲更新的文檔。