我的理解MVC應用和API控制器
架構基本MVC web應用程序的(以簡化的方式)
(MVC View -> MVC Controller) -> Biz layer -> Data Access Layer -> DB
然後,我要支持的移動設備併爲他們提供特定片的信息。所以我只創建適當的API控制器來公開所需的數據。
Mobile device -> API Controller -> Biz layer -> Data Access Layer -> DB
查詢和懷疑
我看到(或聽到)的下方被建議:
(MVC View -> MVC Controller) -> API Controller -> Biz layer -> Data Access Layer -> DB
OR
MVC View -> API Controller -> Biz layer -> Data Access Layer -> DB
的基本想法是,我們揭露整個應用程序功能(Biz層)通過服務。 MVC應用程序將使用API控制器。
問題1:API創建
由於這一點,我想只有當我有一些數據被暴露作爲服務(用於移動設備或像我的MVC的Web應用程序創建一個API控制器)。我是否缺少其他一些標準?
問題2:API使用
以上,要求從MVC視圖的API控制器似乎罰款,但不是必需的。但是爲什麼從MVC控制器調用API? (看來我錯了MVC的控制器可以跟直接BIZ層)
問題3:API的優勢
從API返回的數據將被編碼爲JSON並將其發送給客戶端。但是,我們總是可以從MVC控制器返回MVC視圖的JSONResult。在純粹的MVC應用程序中使用API控制器是否有優勢?
@nikhil pinto是我的回答有用嗎? –