我是新來的RESTful服務的舞臺。我一直在閱讀關於REST的文章。我有很多疑問。請幫我清除這些疑惑。提前致謝。對RESTful Web服務有些懷疑?
1)對於所有REST風格的Web服務,是否會有用於描述服務的WSDL/WADL?服務描述是強制性的嗎?如果沒有描述,我怎麼能知道我必須沿HTTPRequest發送的數據及其結構?
我讀得像,請求內容可以是任何類型(XML,JSON,YAML等)。對於可以通過請求發送的內容類型沒有限制。沒有說明,我怎麼能知道我應該發送的數據類型?
2)通過閱讀文章,我得到了RESTful服務主要用於CRUD操作類服務的印象。針對不同操作的不同HTTP動詞。但是如果你採用網絡服務,它可以進行各種操作。例如,添加2個數字不完全是CRUD操作。如果我使用GET/POST的資源,可以爲我做這個操作,那麼它會違反REST原則? 3)如果您可以指向任何可用於測試的公共REST式Web服務,我可以嘗試使用該服務並瞭解服務的複雜程度。
由於提前,
保羅
感謝您的回覆。我從您提供的URL中檢查了REST服務。我發現那裏沒有任何服務的描述。所以在客戶端,我們將無法使用任何代碼生成工具。創建請求並調用是由用戶決定的。如果服務足夠簡單,這種方法是可以的。但是如果服務很複雜,擁有一個代碼生成器不是很好嗎? – 2011-04-26 11:46:02
對於REST服務,代碼生成器不像SOAP服務那樣需要儘可能多,儘管代碼生成有其自身的問題,但是它仍然很好。流行的REST服務,例如Facebook Graph API,確實提供了庫。 – 2011-04-26 15:48:04