API Controller 寫在哪裡?如何命名?

Web API Controller 通常也和一般 Controller 一樣放在 ASP.NET MVC 專案的 Controller 目錄下。可是如果已經有 UserController,又需要提供 Web API 版本的 UserController,就得避開名稱衝突的問題。

一種作法是用命名來區隔,例如 UserController 和 UserApiController。後者代表 Web API 版本的控制器類別。如此命名的話,前端存取 Web API 時的 URI 就會類似 http://HostName/AppName/api/UserApi/。
[操作提示] 新增一個 API Controller:Solution Explorer \ 應用程式專案 \ Controllers 資料夾點右鍵,Add \ Controller...,在新開啟的 Add Controller 對話窗中,輸入 Controller name,選擇 Template(可用 Empty API controller 或其他與 API controller 有關的樣板)。

另一種作法是在 Controller 目錄下建一個 Api 子目錄,把所有 API Controller 放在裡面。於是,放在 Controller\Api 目錄下的控制器類別的命名空間預設會加上一層 "Api",所以不至於有名稱衝突的情形。這辦法挺好。

還有一種選擇,是把 Web API 放在 Areas 裡面。這種方式可能會需要額外寫一些程式碼來設定 routing。





資料來源: https://www.huanlintalk.com/2013/01/aspnet-web-api-and-json.html

留言

這個網誌中的熱門文章

[C#]Windows 10 停用與啟用網路卡(連線)[手把手教程][原創]

ASP.NET Web API 將傳回的值轉換從控制器動作至 HTTP 回應訊息的方式。

[C#]程式更改電腦IP位置與電腦名稱