2013-04-17 39 views
1

在我目前的項目中,我使用backbone.js作爲前端技術。 Ans我應該注意到,我仍然在MVC3上,但隨時可以繼續;)爲我的客戶端部分創建api區域作爲數據端點是否合理?當然,我可以避免它,只在我的項目的非區域外部留下一個普通控制器。最佳做法是什麼?。 ASP.NET MVC

+0

你希望從API區域粘貼你的ApiControllers獲得什麼?這樣他們仍然包含在您的網站,我認爲一個API不屬於。我會爲API控制器創建一個單獨的項目,並鏈接到您的網站項目。爲此,您最終可以在您的站點中創建一個從'YourApiControllerBase'繼承的空控制器。 – CodeCaster

+0

@CodeCaster我不同意,這是他用於他的骨幹客戶端的API。他的客戶與他的MVC項目有着內在的聯繫,就像他的API一樣。如果他正在創建一個通用API,那麼你說的是真的。但我不認爲他是。 – jcvandan

+1

這個_general purpose_在任何項目中都比您想象的要容易得多。你只是不想在_website project_中使用_data service_。這就是我所說的。如果您添加最輕微的報告,外部維護(非Web UI或針對管理界面的不同網站項目)或類似的任何內容,您將立即受益於無需運行主網站(項目)即可訪問你的數據層。 – CodeCaster

回答

1

爲您的客戶端API提供一個獨立的區域,這是您的骨幹模型進行交互的良好慣例。分離顧慮,可讀性和所有這些。

我會推薦使用WebAPI而不是標準的MVC控制器。通過nuget輕鬆添加,只需極少的配置即可完成設置,並且與Backbone的基於HTTP-Verb的方法一起爲CRUD操作建模非常有效。

如果您已經計劃使用WebAPI,那麼請忽略我!如果你不能出於任何原因,那麼我仍然會說一個單獨的區域是一個好方法。