设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1377|回复: 4
打印 上一主题 下一主题

ASP.NET WebApi 路由匹配及参数传递(一)

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2021-9-16 12:05:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhuyiwen 于 2021-9-16 12:08 编辑

一、路由配置

针对ASP.NET WebAPI,我使用的开发工具是Visual Studio 2012。在新建的WebApi项目中默认的路由配置为:
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
             // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }




从其中可以得到l默认路由匹配模板:routeTemplate: "api/{controller}/{id}"。其中 defaults: new { id = RouteParameter.Optional } 定义 id 为可选项。

二、添加控制器

在项目中添加一个“包含读/写操作的 Web API 2 控制器”,命名为“ValueController”,即产生一个 ValueController.cs 的文件,其内容为
    public class ValueController : ApiController
    {
        // GET api/value
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }


        // GET api/value/5
        public string Get(int id)
        {
            return "value";
        }


        // POST api/value
        public void Post([FromBodystring value)
        {
        }


        // PUT api/value/5
        public void Put(int id, [FromBodystring value)
        {
        }


        // DELETE api/value/5
        public void Delete(int id)
        {
        }
    }



这是一个控制器模板,其控制器的名称为“Value”,它与“ValueController”是一种约定俗成的关系,一看便知,“Value”控制器的类为“ValueController”。





来自群组: ACC应用开发心得交流
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2021-9-29 10:32:10 | 只看该作者
朱老师,C#语法还习惯吗?我记得老汉那时候用的VB.Net语法(感觉和VBA比较接近)

点击这里给我发消息

3#
 楼主| 发表于 2021-10-13 11:52:54 | 只看该作者
喜欢类C风格。呵呵
4#
发表于 2022-11-27 17:37:03 | 只看该作者
要用VS2022,有很多新玩意
5#
发表于 2022-11-27 17:37:52 | 只看该作者
还有能用异步就尽可能用异步

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-2 09:45 , Processed in 0.337125 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表