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应用 入门开发教程系列。
这几天回了一趟老家,系列文章停了几天,今天继续:本篇介绍Taurus.MVC WebAPI :控制器方法及参数定义、获取及属性校验。
框架在收集方法时,仅收集第一个修饰符为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文档(自带的,后续会讲述到)
示例网址:/hello/world/1/2/3
public void World()
{
Write("B.Hello World"+Para);//Para即拿到值1,其它值通过Query
//拿值2:Query
//拿值3:Query
}
示例网址:/hello/world?id=1&mid=2 (Post请求的参数获取方式也一样)
public void World(int id,string mid)
{
Write("B.Hello World"+id);//可以通过定义参数名称【映射】拿到,也可以Query
//拿值id:Query
//拿值mid:Query
}
有一些基础的属性验证,比如,不能为空,格式错误,类型错误等。
以前每次都要在业务代码写判断,现在直接用属性就可以提前处理掉,简化业务代码。
示例代码:
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、Require属性提供了不同的重载。
2、RegexConst 提供了常用的正则表达式。
public interface IController
{
///
string APIResult { get; }
///
int PageIndex { get; }
///
int PageSize { get; }
///
T Query
T Query
T Query
T Query
T Query
void SetQuery(string name, string value);
///
T GetEntity
///
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; }
///
string Module { get; }
///
string ControllerName { get; }
///
string Action { get; }
///
string Para { get; }
///
void Write(string msg);
void Write(string msg, bool isSuccess);
void Write(object obj);
void Write(object obj, bool isSuccess);
///
///
string GetJson();
}
本篇介绍Taurus.MVC WebAPI :控制器方法及参数定义、获取及属性校验,下一篇介绍控制器的安全校验属性…。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章