欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > 【Web.路由】——路由约束

【Web.路由】——路由约束

2025/5/16 9:15:42 来源:https://blog.csdn.net/weixin_42031602/article/details/143261916  浏览:    关键词:【Web.路由】——路由约束

我们需要明确的一点就是,一个URL地址就是一个路由值。

而路由约束,就是制定出的一套规则,只有路由值与路由约束中的规则匹配,才可以进行下一步操作。

路由约束不仅可用于路由请求,还可以用于链接的生成。

参数值约束 

假设存在一个URL地址的配置

app.MapControllerRoute(name: "default",pattern: "{controller=Home}/{action=Index}/{id?}",constraints: new { id = "[0-9]" });

这个路由约束,指的就是,当id=0-9时,这个url可以匹配,当不等于时,是不会匹配到终结点的。

因此当id不为0-9时,网页会返回找不到网页。

参数类型约束

 可以约束参数的类型为特定的类型,当输出不对是,返回找不到网页404.

app.MapControllerRoute(name: "default",pattern: "{controller=Home}/{action=Index}/{id:int}");

查询相关资料,可以看如下类型约束表格

 函数约束

即这个参数会先进入这个函数中进行判断,不满足返回404

具体的使用就是

app.MapControllerRoute(name: "default",pattern: "{controller=Home}/{action=Index}/{id:max(200)}");

混合约束

顾名思义,就是以上的约束一起使用。使用时,是这么使用的

app.MapControllerRoute(name: "default",pattern: "{controller=Home}/{action=Index}/{id:int:min(30):max(190)}");

只要组合在一起能限制符合需求的参数值,都可以使用冒号连接在一起。

当然以上是对于参数类型单一或者较为少的情况,如果需要对参数进行验证的话,建议使用框架。

同时欢迎关注gzh——>上位机PLC自动化技术研究,里面会陆陆续续分享一些内容,欢迎大家。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词