路由對於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這個參數必須是大寫字母+小寫字母+數字組成。
還有更多的屬性我就不一一介紹了,有興趣的可以去下載代碼和例子看看: