2012-03-05 133 views
1
  1. REST是否可以純粹用作輕量級SOAP替代品(而不必擔心與名詞和動詞相關)?我真正討厭的SOAP是它在消息負載方面增加的開銷,我喜歡在REST中使用JSON,這會使通信變得簡單。REST上的愚蠢問題

  2. 爲了便於客戶端集成的,什麼是從服務器到客戶端提供的定義的最佳方式。閱讀其他職位post1post2,似乎有很多敵意的對抗提供諸如替代一個WSDL(即WADL?)。如果服務器和客戶端都知道可能發生的變化,並且如果我使用REST的原因僅爲上面的#1,那麼爲什麼它是如此糟糕的事情呢?

回答

2

可以休息純粹用作一個輕量級的SOAP替代(沒有真正擔心相關的名詞和動詞)?

若你還是想叫它休息。 REST 定義關心的名詞和動詞。如果您只想使用JSON來執行RPC,請繼續。但是你最終會被描述爲「SOAP lite」。

爲了便於客戶端集成,從服務器向客戶端提供定義的最佳方式是什麼?閱讀其他帖子post1 post2後,似乎有很多人反對提供類似替代的WSDL(即WADL?)。如果服務器和客戶端都知道會發生,如果我之所以使用REST是唯一#1以上變化的,那麼爲什麼它是一件壞事?

WSDLish「定義」被認爲是不好的,因爲REST並不是真正的RPCish樣式協議。通過REST,您可以從一個入口點開始,然後從響應中跟蹤服務器提供的URL。客戶不應需要有方法調用和這樣的「定義」 - 標準的HTTP動詞應該有標準的,明顯的和適當的效果 - 它不應該甚至需要如何構建一個URL的先驗知識;該URL應該在響應中提供。例如,如果您獲取用戶個人資料,則響應字段可能是用戶的網址。如果您正在查看訂單,則其中的每個商品都會有一個URL(作爲字段!),您可以使用該URL來檢索該商品的信息。如此。