2008-09-25 44 views
6

我一直是Web表單模型中的一名長期ASP.NET開發人員,並且正在使用一個新項目作爲契機,讓我的腳感受ASP.NET MVC。使用MVC在ASP.NET中實現API的最佳方式是什麼?

該應用程序將需要一個API,以便一組其他應用程序可以與它通信。在這之前,我一直使用標準的Web服務構建API。

作爲一個旁註,我有點猶豫是否會將頭撞入創建API的REST風格,至少對於此特定實例。這個應用程序可能需要一個API版本控制的概念,我認爲REST方法(API基本上分散在網站的所有控制器中)在這方面有點麻煩。 (但是,如果對潛在的版本控制潛在要求有一個很好的答案,我並不完全反對。)

那麼,你說什麼,堆棧溢出denizens?

回答

7

我同意Kilhoffer。嘗試使用繼承自「IFacade」的「Facade」包裝類。在您的Facade類中,將您的代碼用於您的Web服務。通過這種方式,您的控制器將只需調用Facade。這個存在的好處是,您可以交換實現了相同IFacade接口的「DummyFacade」,但實際上並不會與Web服務對話並返回靜態內容。讓你實際上做一些單元測試而不會觸及服務。基本上和Repository模式有相同的想法。

+1

我同意。我會建議你所有的服務消費應用程序。 – Kilhoffer 2008-09-25 18:11:31

2

我仍然會推薦一個可以服務於客戶端消費者或服務器端消費者的服務層。可能甚至以各種格式返回數據,具體取決於消費方。

相關問題