在編寫Web服務時,如何構建返回值?你如何處理錯誤狀況(預期的和意外的)?如果你像int那樣簡單地返回一些東西,你只需要返回它,或者將它嵌入到一個更復雜的對象中?一個服務中的所有Web方法是否返回單個類的實例,或者是否爲每個方法創建自定義的返回值類?什麼是Web方法返回值的優秀設計模式?
9
A
回答
8
我喜歡請求/響應對象模式,在這裏你將參數封裝到一個[Operation] Request類中,該類具有簡單的公共屬性。
有點像AddCustomerRequest,它會返回AddCustomerResponse。
響應可以包括有關操作成功/失敗的信息,UI可能使用的任何消息,例如可能添加的客戶的ID。
另一個好的模式是使這些都來自一個簡單的IMessage接口,其中您的一般終點是類似Process(params IMessage []消息)的東西......這種方式,你可以在同一時間傳遞多個操作網絡請求。
1
本答的+1。
此外,我建議考慮通用回覆允許多個錯誤/警告項目,以使回覆儘可能全面和可行。 (你想使用在第一個錯誤消息之後停止的編譯器,或者儘可能告訴你的編譯器嗎?)
1
如果您使用SOAP Web服務,那麼SOAP faults是返回錯誤詳細信息的標準方法,故障信息可以返回任何你喜歡的附加細節。
0
肥皂故障是呼叫應用程序是Soap客戶端的標準做法。有些情況下,例如使用XMLHTTP的COM客戶端,其中Soap被解析爲XML,並且Soap錯誤不易被處理。不能投票,但@Ben Scheirman的另一個+1。
相關問題
- 1. 什麼是考勤數據庫的優秀數據庫設計(模式)?
- 2. 什麼是可擴展查詢接口的優秀設計?
- 3. 什麼是「優秀」框架?
- 4. 設計模式 - 這是什麼模式?
- 5. 適用於幾乎相似對象的優秀設計模式
- 6. 並行架構設計模式的優秀資源?
- 7. 什麼是Adobe Flex的優秀3D庫?
- 8. 什麼是Clojure的優秀展示?
- 9. 什麼是AWS Lambda的優秀資源?
- 10. 什麼是優秀的軟件架構?
- 11. 返回不同類型/類的方法的設計模式
- 12. 許多功能可以做同樣的事情 - 什麼是DRY的優秀設計模式?
- 13. 多選題測驗引擎的數據庫模式的優秀設計是什麼?
- 14. 定向實體的優化設計方法是什麼?
- 15. C++基於策略的類設計的優秀教程是什麼?
- 16. .net中的設計模式是什麼?
- 17. 這是什麼樣的設計模式?
- 18. 什麼是最好的方式返回
- 19. 什麼是Web應用程序最流行的設計模式
- 20. 什麼是使用Selenium PageObject設計模式的最佳方式
- 21. 什麼是實現Viewholder設計模式的最佳方式。
- 22. WEB API操作方法的返回類型應該是什麼?
- 23. getSplits()方法返回的是什麼?
- 24. 什麼是布爾值作爲返回值的方法?
- 25. 什麼是在方法中編寫「返回」的完美方式
- 26. 什麼是正確的設計方法?
- 27. 在Page Factory設計模式中返回對象的用例是什麼?
- 28. 這是什麼設計模式?
- 29. 什麼是動作設計模式?
- 30. 什麼是門面設計模式?