• 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 配置:

    
      
        
        "Taurus.Controllers" value="Taurus.Controllers"/>
      
    

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

    总结:

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

  • 相关阅读:
    【数据结构】栈的知识点总结--关于栈的定义和基本操作;C语言实现栈;顺序栈;链栈;共享栈;栈的易错点的总结
    山区自建房BCD浪涌保护器接线方案(自建房用电防雷)
    SAP产品合规(Product Comliance)管理-物质量追踪(SVT)实例展现及功能简介
    拓世AIGC | 大语言模型螺旋上升式进化,人文、技术与未来
    简述无线网的优缺点
    华为机试真题 C++ 实现【处理器问题】【2022.11 Q4 新题】
    前端优化渲染:长列表渲染
    你是怎么看待程序员不写注释这一事件的呢?
    谣言检查论文精读——5.SpotFake: A Multi-modal Framework for Fake News Detection
    Mysql加锁流程详解
  • 原文地址:https://www.cnblogs.com/cyq1162/p/16529623.html