Web API路由及接口名配置

本文介绍WebAPI中默认及自定义路由配置方法,包括如何通过路由模板匹配不同的HTTP请求方式并调用对应的Controller方法。

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

Web API默认的路由为:

    // Web API 路由

            config.MapHttpAttributeRoutes();


            config.Routes.MapHttpRoute(

                name: "DefaultApi",

                routeTemplate: "api/{controller}/{id}",

                defaults: new { id = RouteParameter.Optional }

            );

此配置下会根据请求方式自动匹配controller内的方法

// GET: api/Default1

        public IEnumerable<string> Get()

        {

            return new string[] { "value1", "value2" };

        }


        // GET: api/Default1/5

        public string Get(int id)

        {

            return "value";

        }


        // POST: api/Default1

        public void Post([FromBody]string value)

        {

        }


        // PUT: api/Default1/5

        public void Put(int id, [FromBody]string value)

        {

        }


        // DELETE: api/Default1/5

        public void Delete(int id)

        {

        }

如果想自定义方法名,需修改路由

  // Web API 路由

            config.MapHttpAttributeRoutes();


            config.Routes.MapHttpRoute(

            name: "Api",

            routeTemplate: "api/{controller}/{action}/{id}",

            defaults: new { id = RouteParameter.Optional }

            );

方法名需要配置相应的属性([HttpPost]、[HttpGet]…)。对于post方法需在参数前加‘FromBody’,如果请求的参数设置的是json类型,则在需将参数类型改为‘object’,不然接收到post的实体。

        [HttpPost]

        public string setName([FromBody]object json)

        {

            return "set成功:" + json;

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值