为Owin项目增加WebApi

上一篇文章我们新建了一个Owin项目。

本节,我们来为其增加WebApi功能

项目右键》添加》新搭建基架的项目

选择Web API 2控制器

为默认控制器命名

点击添加后项目结构如下:

将WebApiConfig.cs排除出项目(我们这里用的是Owin,WebApi模板默认的注册逻辑就没用了)

同理,Global.asax.cs中GlobalConfiguration.Configure(WebApiConfig.Register);也注释掉,或者删除。

打开DefaultController.cs,添加如下代码:

        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

向Startup类增加如下代码:

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

注意,把之前的app.Run测试代码注释掉

然后访问http://localhost:33964/api/default

已经可以正常访问了。IE弹出下载提示框。

使用FF上的Rest调试工具访问:

好了,目前已经可以正常访问WebApi里的相应控制器方法了。

原文地址:https://www.cnblogs.com/Aricc/p/7250914.html