0x00 路由在MVC中起到的作用

前段時間一直忙于別的事情,終于搞定了繼續(xù)學習.NetCore。這次學習的主題是MVC中的路由。路由是所有MVC框架都會實現(xiàn)的一個組件,核心功能就是根據(jù)接收到的Http請求中的Path(對于http://localhost/Home/Index/12?test=555 來說,http是協(xié)議,localhost是域,Home/Index/12是Path,test=555是參數(shù))部分,依次和路由規(guī)則集合中的規(guī)則進行匹配,匹配成功后由對應的Controller中的對應Action進行Http請求的處理。匹配不到則返回404錯誤。

 

大多數(shù)MVC框架路由規(guī)則的配置都大同小異,一般都是通過模板的方式來配置路由規(guī)則。有的還支持在Controller和Action上通過Attribute(Java中叫注解)進行更細粒度的配置。

.NetCore MVC支持通過全局的路由模板配置路由規(guī)則,也支持在Controller和Action上通過Attribute進行細粒度的路由配置。下面先說一下在Startup.cs中配置全局路由規(guī)則。

0x01 在Startup.cs中配置路由

所謂的路由的模板就是一串字符串,當接收到Http請求后取出其中的Path部分,和模板進行對照,如果匹配模板則路由到對應的Controller和Action進行處理。我們可以在Startup.cs文件中的Configure方法中,添加MVC功能時進行路由配置,例如:

app.UseMvc(routes => {
    routes.MapRoute(
        name: "default",
        template: "{controller}/{action}/{id}");

        
		

網(wǎng)友評論