ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 05.Controller 的路由

視頻地址:
https://www.bilibili.com/video/av38392956/?p=5

這裏面就包含了MVC相關的庫

能夠經過打開右側的Nuget庫進行查看

這裏修改下 ,只須要靜態文件就能夠了

加入mvc的中間件,先使用USeMvcWithDefaultRoute()這裏面加了一些默認路由的配置

直接運行頁面,提示報錯,沒法找到所需的服務

註冊下mvc的服務

這樣就能運行起來。mvc的服務不是手動添加好的,須要本身添加一下

新建Controllers文件夾,而後在下面新建Controller


咱們這裏從一個類開始,起名叫作HomeController



​​​​​​​4分開始web


運行竟然返回了 信息。訪問跟路徑是走到了HomeController裏面

因此說使用這個方法就被配置一些默認的路由規則

好比說訪問根路徑,就會找到HomeController裏面的Index方法


按照約定路由
屬性標籤路由
api

這就叫作按照約定式配置路由


這裏換成UseMVC()。這個方法沒有配置默認的路由

並無走HomeController

在裏面配置路由

接收一個參數Action<IrouteBuilder>

在這個萊姆達表達式裏就能夠配置路由了 


能夠使用這個builder,這個builder的類型是IRouteBuilder

使用MapRoute配置路由,固然還有不少Map開頭的方法

定義參數,這個參數須要用大括號括起來,意思就是告訴框架,url裏面的第一部分就是controller的名字

第二個部分是Action

一般都帶一個參數,例如這裏帶個參數id,這個id是可選的,因此在id後面加一個問號

再次運行,輸入Home/Index 就看到咱們寫的返回的字符串數據
mvc

設置默認的Controller

以前使用的是UseMvcDefaultRoute能夠默認執行Home/index的方法,咱們進去看下它的源碼是怎麼設置的

這裏給Controller和action加了默認值

咱們直接複製過來,也加上默認值,若是Controller和Action沒有就調用默認的值


再次運行能夠看到結果了

光輸入Controller爲home一樣能夠打開 地址

完整的路徑 也沒問題

再添加一個類AboutController

裏面定義兩個方法

而後運行頁面
About/me
框架

屬性標籤式路由

Route屬性能夠放到Action級別也能夠放到Controller的界別

好比說想經過訪問/About訪問到Me這個action
這麼配置的路徑就是/About/me

想直接訪問到About就能訪問me的方法 就留空

運行拋出異常

有多個Action匹配這個路由


再次運行,輸入about順利找到me這個方法


中括號+Controller表明就表明About(也就是這個Controller的名字)

測試下



更名了那麼他對應路徑也更名了。

輸入更名後的Contact才能找到

ide

針對Action,

中括號+Action


這樣就使用每一個方法名做爲他的路徑

簡寫的方式提到最上面
測試

加版本參數

在前面加上V2

路徑前面必須帶V2才能正常訪問

一般mvc選擇第一種方式

webapi選擇第二種屬性標籤的配置方式


 ui

相關文章
相關標籤/搜索