ITPub博客

首页 > 应用开发 > IT综合 > Taurus.MVC WebAPI 入门开发教程

Taurus.MVC WebAPI 入门开发教程

原创 IT综合 作者:盛煌测速地址 时间:2022-08-11 19:11:13 0 删除 编辑

1、方法的定义

框架在收集方法时,仅收集第一个修饰符为public的方法作为对外的接口。

标准的方法定义:不带参数:

    public class HelloController : Taurus.Core.Controller
    {        public void World()
        {
            Write("B.Hello World");
        }
    }

标准的方法定义:带参数:

    public class HelloController : Taurus.Core.Controller
    {        public void World(string msg,System.Web.HttpPostedFile file)
        {
            Write("B.Hello World");
        }
    }

说明:带参数有两个好处:

1、系统默认帮你进行类型转换,节省代码又安全。2、方便生成可测试WebAPI文档(自带的,后续会讲述到)

2、方法参数的获取

示例网址:/hello/world/1/2/3

 +Query<int>(2)
}

示例网址:/hello/world?id=1&mid=2 (Post请求的参数获取方式也一样)

public void World(int id,string mid)
{
      Write("B.Hello World"+id);//可以通过定义参数名称【映射】拿到,也可以Query<Type>(key)来获取。      //拿值id:Query<int>("id")
    //拿值mid:Query<string>("mid")}

3、方法参数的基础校验属性:[Require]

有一些基础的属性验证,比如,不能为空,格式错误,类型错误等。

以前每次都要在业务代码写判断,现在直接用属性就可以提前处理掉,简化业务代码。

示例代码:

    public class HelloController : Taurus.Core.Controller
    {
        [Require("id")]
        [Require("userName", "用户名")]
        [Require("mobile", regex = RegexConst.Mobile)]        public void World(int id, string userName, string mobile)
        {
            Write("Demo.Hello World" + id);
        }
    }

运行请求:

1、不能为空:

2、不能为空(中文提示):

3、数据类型转换失败:

 

 

 4、正则验证(手机号):

 

 

其它说明:

1、Require属性提供了不同的重载。 
2、RegexConst 提供了常用的正则表达式。

其它:控制器常见的方法或属性:

  public interface IController
    {        /// <summary>
        /// 缓存Write方法输出的结果,用于最后输出        /// </summary>
        string APIResult { get; }        /// <summary>
        /// 获取参数:page        /// </summary>
        int PageIndex { get; }        /// <summary>
        /// 获取参数:rows        /// </summary>
        int PageSize { get; }        /// <summary>
        /// 获取参数方法        /// </summary>
        T Query<T>(Enum key);
        T Query<T>(string key);
        T Query<T>(string key, T defaultValue);
        T Query<T>(int paraIndex);
        T Query<T>(int paraIndex, T defaultValue);        void SetQuery(string name, string value);        /// <summary>
        /// 从Post过来的数据中获得实体类型的转换        /// </summary>
        T GetEntity<T>() where T : class;        /// <summary>
        /// MVC 的视图引擎        /// </summary>
        XHtmlAction View { get; set; }
        HttpContext Context { get; }
        HttpRequest Request { get; }
        HttpResponse Response { get; }        bool IsHttpGet { get; }        bool IsHttpPost { get; }        bool IsHttpHead { get; }        bool IsHttpPut { get; }        bool IsHttpDelete { get; }
        Type ControllerType { get; }        /// <summary>
        /// 路由:模块参数        /// </summary>
        string Module { get; }        /// <summary>
        /// 路由:控制器参数        /// </summary>
        string ControllerName { get; }        /// <summary>
        /// 路由:方法参数        /// </summary>
        string Action { get; }        /// <summary>
        /// 路由:第一个参数        /// </summary>
        string Para { get; }        /// <summary>
        /// 输出结果        /// </summary>
        void Write(string msg);        void Write(string msg, bool isSuccess);        void Write(object obj);        void Write(object obj, bool isSuccess);        /// <summary>
        /// 获取Post请求,非标准请求头时,从数据流读取请求数据。        /// </summary>
        /// <returns></returns>
        string GetJson();
    }


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70020836/viewspace-2910085/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-08-09

  • 博文量
    12
  • 访问量
    4927