Office中国论坛/Access中国论坛

标题: ASP.NET WebApi 路由匹配及参数传递(一) [打印本页]

作者: zhuyiwen    时间: 2021-9-16 12:05
标题: ASP.NET WebApi 路由匹配及参数传递(一)
本帖最后由 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”。





[groupid=322]ACC应用开发心得交流[/groupid]
作者: roych    时间: 2021-9-29 10:32
朱老师,C#语法还习惯吗?我记得老汉那时候用的VB.Net语法(感觉和VBA比较接近)
作者: zhuyiwen    时间: 2021-10-13 11:52
喜欢类C风格。呵呵
作者: fan0217    时间: 2022-11-27 17:37
要用VS2022,有很多新玩意
作者: fan0217    时间: 2022-11-27 17:37
还有能用异步就尽可能用异步






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3