1、Taurus.MVC WebAPI 入門開發教學1:框架下載環境設定與執行。
2、Taurus.MVC WebAPI 入門開發教學2:新增控制器輸出Hello World。
3、Taurus.MVC WebAPI 入門開發教學3:路由型別和路由對映。
4、Taurus.MVC WebAPI 入門開發教學4:控制器方法及引數定義、獲取及基礎校驗屬性【Require】。
5、Taurus.MVC WebAPI 入門開發教學5:控制器安全校驗屬性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。
6、Taurus.MVC WebAPI 入門開發教學6:全域性控制器DefaultController與全域性事件。
7、Taurus.MVC WebAPI 入門開發教學7:業務邏輯基礎類別LogicBase的使用。
8、Taurus.MVC WebAPI 入門開發教學8:WebAPI檔案與自動化測試。
後續還有兩個系列:
1、Taurus.MVC 微服務 入門開發教學系列。 2、Taurus.MVC Web應用 入門開發教學系列。
本篇繼續上一篇執行程式之後,接著介紹控制器的新增和預設路由定址模式。
在上一篇文章,執行的專案中:
新建HelloController類,繼承自核心控制器,編寫輸出Hello World方法。
注意事項核心三要素:
1、類名為:XXXController,以Controller結尾。 2、類繼承自:Taurus.Core.Controller(可以二次繼承,構建自己的Base基礎類別)。 3、類名和方法修飾符號為:public, 方法返回值為void,輸出用Write方法輸出。
控制器可以放在任意專案中,建議是統一新建一個控制器專案存放。
為了避免框架搜尋全域性的dll,可以通過設定指定控制器所有在的dll名稱,方便框架高效搜尋。
<configuration> <appSettings> <!--指定控制器所在的專案(Dll)名稱,多個用「,「號分隔--> <add key="Taurus.Controllers" value="Taurus.Controllers"/> </appSettings> </configuration>
{ "AppSettings": { //這裡要改成:控制器所在的專案編繹後的dll名稱(不包括字尾,允許多個,用逗號分隔) "Taurus.Controllers": "WebApplication1" } }
輸入請求網址:/控制器名稱/方法名稱
從結果很容易看出,框架預設的路徑規則是:
/控制器名稱(不含Controller結尾部分)/方法名稱。
說明:
需要定義其它的路由規則,詳情可以見下一篇文章。
因為沒有定義bigboy方法,所以系統返回404。
4、攔截404的不存在方法:過載Default方法
public class HelloController : Taurus.Core.Controller { public override void Default() { Write("Hello " + Action);//Action即方法名。 } public void World() { Write("Hello World"); } }
再輸入之前的請求網址:
說明:
可以看到,所有404未定義的方法,都統一走進了過載後的Default方法,可以進行歸一處理。
重點:控制器內過載的Default方法,僅對控制器內的無效地址生效,即/hello/xxxxxx,這裡的xxxxxx部分生效。
如果是控制器級別的,則由全域性控制器DefaultController處理,後續有文章介紹。
本篇介紹控制器的新增和請求規則,下一篇講述更進一步的路由規則。
版權宣告:本文原創發表於 部落格園,作者為 路過秋天 本文歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則視為侵權。 |
個人微信公眾號 |
創業QQ群:617713515 |
Donation(掃碼支援作者):支付寶: |
Donation(掃碼支援作者):微信: |