REST式Web服務(例如,在JAX-RS實現中)是否支持合同優先(自上而下)方法和合同最後(自下而上)方法?RESTful Web服務是否支持合同優先和最後合同?
回答
REST風格的Web服務是否支持合同優先和合同最後方法?
這取決於你使用的工具/框架。
你在說什麼適用於SOAP Web服務及其附帶的WSDL。
WSDL描述了Web服務期望作爲輸入的內容以及客戶期望輸出的內容。它定義了爲了雙方相互溝通而要遵循的合同。您可以通過執行contract-first or contract-last來獲得WSDL,您可以稍後使用此WSDL爲客戶端存根或服務框架生成代碼。
但是做REST和做SOAP不一樣。僅僅因爲我們熟悉它們,對SOAP(協議)起作用的進程不一定適用於REST(體系結構樣式)。
與公開方法和方法簽名的SOAP不同,REST公開資源。在交換這些資源時使用的媒體類型的理解是REST客戶端爲了與REST Web服務進行通信所需要的。不需要單獨的文檔來描述資源。
由於HATEOAS原則,REST客戶端更具動態性,可以適應其他使用相同媒體類型進行通信的服務。公開靜態服務描述文檔將會限制REST服務。
話雖如此,有REST工具確實暴露了描述文件,例如Jersey who exposes a WADL(contract-last)。我相信你可以使用已發佈的WADL來構建客戶端存根,而我沒有看到你無法手動編寫WADL(合同優先)並將其用於生成存根和框架的原因。但正如我所說,這可能不是REST的最佳解決方案。
這裏是如果合同最後還是契約優先的方法在REST意義,你可能需要閱讀方面形成意見的一些帖子:
好的,但是,請給我任何工具/框架的名稱,通過它我可以使用契約優先方法實現RESTful Web服務。我不認爲RESTful支持合同第一無論如何!感謝您的回覆 –
@Siraj Chaudhary:我知道的唯一工具(不知道他們有多穩定或有多少功能,因爲我只知道他們,我沒有真正使用它們)是[WADL2Java](https://wadl.java.net/)[我認爲是CXF使用的](http://cxf.apache.org/docs/jaxrs-services- description.html#JAXRSServicesDescription-WADLfirstDevelopment)以及一個名爲[rest-api-code-gen](http://code.google.com/p/rest-api-code-gen/)的更通用的工具。 – Bogdan
該信息很有用。這意味着我們可以使用RESTful編寫合同優先的Web服務。謝謝@Bogdan –
- 1. 什麼是合同優先和最後合同?
- 2. 合同優先的網絡服務?
- 3. 合同優先還是代碼優先?
- 4. WCF服務合同和數據合同
- 5. 合同最後的網絡服務?
- 6. NeoLoad是否支持爲RESTful Web服務加載測試?
- 7. queryparm支持在春天RESTful Web服務
- 8. 如何使用RESTful Web服務按合同編碼
- 9. 應該JSON RESTful Web服務使用數據合同
- 10. 像IIB,WSRR,Data Power等後端系統是否支持Restful web服務?
- 11. RESTful Web服務是否適合重新使用基礎架構?
- 12. 合同優先的WCF服務 - 仍然有效嗎?
- 13. 先寫RESTFul Web服務和客戶端
- 14. OpenXava框架是否支持Web服務?
- 15. 如何處理RESTful Web服務中的聚合和組合
- 16. 是否可以使用.NET Web服務客戶端支持同一Web服務的多個不同版本?
- 17. 是否可以將服務保持在300 [服務]優先級?
- 18. Accumulo是否支持聚合?
- 19. WCF服務合同
- 20. Spark是否支持融合和dcast
- 21. 合同發現在WCF後服務合同的繼承
- 22. 如何實施合同優先
- 23. WCF合同優先:complexType已被聲明
- 24. 測試客戶端不支持WCF服務合同
- 25. 測試Web服務API是否爲RESTful
- 26. Wix3.6是否同時支持IIS6和IIS7?
- 27. 相同服務和合同類型的多個WCF服務
- 28. 合同優先SOA:設計業務領域:WCF
- 29. OpenRasta URI和方法結合澄清 - RESTful Web服務
- 30. WCF中的服務合同是什麼?
請更多具體。這些方法的結果在JAX-RS應用程序中如何? – 2013-10-26 13:30:56
如果這兩種方法都由soap(JAX-WS)支持,而不是爲什麼不是RESTful? –
我知道寧靜的支持合同,但是它支持合同優先嗎?如果不是,那麼? Bcos合同 - 首先給予今天的業務非常需要的整體管理 –