系列目录
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处理,后续有文章介绍。
总结:
本篇介绍控制器的添加和请求规则,下一篇讲述更进一步的路由规则。