Taurus.MVC WebAPI 入門開發教程2:添加控制器輸出Hello World。

系列目錄

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處理,後續有文章介紹。

總結:

本篇介紹控制器的添加和請求規則,下一篇講述更進一步的路由規則。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章