WebApi-1 与MVC路由机制比较

本文详细解析了MVC中默认路由机制如何通过URL路径匹配action方法,以及WebAPI如何利用HTTP方法进行路由匹配。同时,介绍了WebAPI中如何支持MVC路由机制,但鉴于RESTful风格的要求,其并不提倡此做法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在MVC里面,默认路由机制是通过url路径去匹配对应的action方法

public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",  //{id}是可选参数
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }

WebApi的默认路由是通过http的方法(get/post/put/delete)去匹配对应的action,也就是说webapi的默认路由并不需要指定action的名称。

public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API 路由
            config.MapHttpAttributeRoutes();
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}", //定义路由模板,{id}是可选参数
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }

WebApi也支持MVC里面的路由机制,但RestFul风格的服务要求请求的url里面不能包含action,所以,在WebApi里面是并不提倡使用MVC路由机制的。

转载于:https://www.cnblogs.com/chenh/p/10706433.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值