webapi 传入参数校验
2024-10-14 00:27:28
/// <summary>
/// 传入参数校验过滤器
/// </summary>
public class ValidateReqModelFilter : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (!actionContext.ModelState.IsValid)
{
actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, actionContext.ModelState);
////如果要自定义返回
//actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.BadRequest, new ResponseMessage() { Msg = false, Message = error });
}
}
}
[ValidateReqModelFilter]
public class TestController : ControllerEduBase
{
/// <summary>
/// 测试
/// </summary>
[HttpPost]
[Route("api/Test/saveSchool")]
public JsonResult<ResponseMessage> Test(ReqTest req){
var result = new object();
return Json(result);
}
}
public class ReqSaveSchool
{
/// <summary>
/// token
/// </summary>
[Required(AllowEmptyStrings = false, ErrorMessage = "Token is validate")]
public string Token { get; set; } /// <summary>
/// id
/// </summary>
[RegularExpression(@"^[0-9]\d*$",ErrorMessage = "Id is validate")]
public int Id { get; set; } /// <summary>
/// 名称
/// </summary>
[Required]
[StringLength(,ErrorMessage = "Name is exceeding the length limit")]
public string Name { get; set; }
}
测试结果:如果输入参数校验失败,不会进入controller,直接返回错误信息。
最新文章
- HTTPS和HTTP的区别(转)
- iis设置asp站点
- 定位表的数据块并且dump出来
- 1613. For Fans of Statistics(STL)
- 深入理解计算机系统第二版习题解答CSAPP 2.19
- [jQuery1.9]Cannot read property ‘msie’ of undefined错误的解决方法
- 此 ObjectContext 实例已释放,不可再用于需要连接的操作
- Python快速入门(2)
- APNS IOS 消息推送JSON格式介绍
- 配置使用dwr完成收邮件提示
- 百度地图点击地图显示地址详情的默认方法怎么关闭,去掉百度地图api图标信息
- 201772020113 李清华《面向对象程序设计(java)》第17周学习总结
- 【leetcode】 Validate Binary Search Tree
- VNC的安装和常用命令
- dp练习(10)——拦截导弹
- 安装Windows Installer服务
- Nginx设置静态页面压缩和缓存过期时间的方法
- 新型穿墙监控雷达Range-R:让你的隐私无所遁形(转)
- Java Web系列:JDBC 基础
- EasyUi–7.tab和datagrid和iframe的问题