系列目录

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

总结:

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

最新文章

  1. 责任链模式/chain of responsibility/行为型模式
  2. Microsoft Dynamics AX 7 新特性探索 - Demo 部署(Part 1)
  3. 可扩展的事件复用技术:epoll和kqueue
  4. edittext把软键盘上的回车键改为搜索、发送或者 下一步,窗口随软键盘弹出而改变。
  5. java中的条件语句(if、if...else、多重if、嵌套if)
  6. com.google.inject.CreationException: Guice creation errors
  7. 数据结构学习笔记05图 (邻接矩阵 邻接表--&gt;BFS DFS、最短路径)
  8. 剑指Offer46 求1+2+...+n
  9. 一个Solr搜索实例,增删改查+高亮+分页
  10. spfa + slf优化
  11. Static Final用法
  12. Notification封装(没做从网络下载)
  13. Linux文件io--one简述
  14. SQL排除重复结果只取字段最大值
  15. VS2010 编译 sqlite3 生成动态库和链接库
  16. oracle系列--基础理论
  17. RegExp正则表达式规则以及常用正则表达式
  18. Java的LockSupport.park()实现分析(转载)
  19. MachineLearning之Logistic回归
  20. 如何在win 2008 server和win 7上add web site

热门文章

  1. 渗透:dSploit
  2. 流,用声明性的方式处理数据集 - 读《Java 8实战》
  3. 好客租房3-React的基本使用
  4. 使用instanceof操作符判断对象类型及方法的重载
  5. PyTorch框架起步
  6. ASP.NET MVC 处理管线模型
  7. 【仿真】Carla介绍与基本使用 [1] (附代码 基础版)
  8. 关于『进击的Markdown』:第五弹
  9. GO的日志库log竟然这么简单!
  10. 深入C++05:运算符重载