系列目录

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处理,后续有文章介绍。

总结:

本篇介绍控制器的添加和请求规则,下一篇讲述更进一步的路由规则。

posted on 2022-08-04 15:04  路过秋天  阅读(266)  评论(1编辑  收藏  举报
路过秋天