路由对于MVC应用程序来说都是至关重要的一个部门,不管是asp.net mvc或者Ruby on Rails(当然还有其它的,我只熟悉这两个:) ) asp.net mvc自带的路由配置是在Global.asax文件中,这里给大家介绍一个基于属性的路由配置工具:AttributeRouting,它不仅可以适用于ASP.NET MVC也适用于ASP.NET Web API项目。我们以ASP.NET Web API项目为例,说明下它的适用。
首先安装nuget包:
首先创建一个UrlController,添加如下的命名空间:
1.首先是基本的http请求方式路由定义:
上面的[GET("links")]
浏览器中访问结果如下:
使用attributerouting最大的好处是可以直接定义多个属性作为一个action的路由,如下图:
访问结果:
同时也可以使用[POST("postlinks")],这样就只能通过POST方式来请求Web API。
2.路由约束
有时候需要设置一些规则来约束某个路由是不可以访问的,这时候就需要用到路由约束,这里也可以使用AttributeRouting来设置路由约束:
输入的id必须是int并且在1~3之间,如果输入别的int值,会找不到路由:
当然也可以通过正则表达式来设定路由:
上面的正则表示e这个参数必须是大写字母+小写字母+数字组成。
还有更多的属性我就不一一介绍了,有兴趣的可以去下载代码和例子看看: