系列目錄
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應用 入門開發教程系列。
前言:
本篇繼續上一篇運行程序之後,接着介紹控制器的添加和默認路由尋址模式。
1、添加控制器:
在上一篇文章,運行的項目中:
新建HelloController類,繼承自核心控制器,編寫輸出Hello World方法。
注意事項核心三要素:
1、類名爲:XXXController,以Controller結尾。 2、類繼承自:Taurus.Core.Controller(可以二次繼承,構建自己的Base基類)。 3、類名和方法修飾符號爲:public, 方法返回值爲void,輸出用Write方法輸出。
2、指定控制器搜索名稱:
控制器可以放在任意項目中,建議是統一新建一個控制器項目存放。
爲了避免框架搜索全局的dll,可以通過配置指定控制器所有在的dll名稱,方便框架高效搜索。
1、ASP.NET項目:web.config 配置:
<configuration> <appSettings> <!--指定控制器所在的項目(Dll)名稱,多個用“,“號分隔--> <add key="Taurus.Controllers" value="Taurus.Controllers"/> </appSettings> </configuration>
2、ASP.NET Core系列項目:appsettings.json 配置:
{ "AppSettings": { //這裏要改成:控制器所在的項目編繹後的dll名稱(不包括後綴,允許多個,用逗號分隔) "Taurus.Controllers": "WebApplication1" } }
3、F5運行程序:
輸入請求網址:/控制器名稱/方法名稱
從結果很容易看出,框架默認的路徑規則是:
/控制器名稱(不含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處理,後續有文章介紹。
總結:
本篇介紹控制器的添加和請求規則,下一篇講述更進一步的路由規則。