基於Attribute的Web API路由設置


路由對於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包:

image

 

首先創建一個UrlController,添加如下的命名空間:

image

 

1.首先是基本的http請求方式路由定義:

上面的[GET("links")]

瀏覽器中訪問結果如下:

image

 

使用attributerouting最大的好處是可以直接定義多個屬性作為一個action的路由,如下圖:

image

 

訪問結果:

image

 

同時也可以使用[POST("postlinks")],這樣就只能通過POST方式來請求Web API。

2.路由約束

有時候需要設置一些規則來約束某個路由是不可以訪問的,這時候就需要用到路由約束,這里也可以使用AttributeRouting來設置路由約束:

image

輸入的id必須是int並且在1~3之間,如果輸入別的int值,會找不到路由:

 

image

 

當然也可以通過正則表達式來設定路由:

image

 

上面的正則表示e這個參數必須是大寫字母+小寫字母+數字組成。

image

 

還有更多的屬性我就不一一介紹了,有興趣的可以去下載代碼和例子看看:

https://github.com/mccalltd/AttributeRouting


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM