美文网首页
在mvc模式中添加webapi

在mvc模式中添加webapi

作者: wwmin_ | 来源:发表于2017-03-13 13:20 被阅读12次

    在App_Start下新建WebApiConfig.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web.Http;
    
    namespace NFine.Web
    {
        public static class WebApiConfig
        {
            public static void Register(HttpConfiguration config)
            {
                config.Routes.MapHttpRoute(
                    name: "DefaultApi",
                    //注意此处的路由前缀统一添加了'api/',以便和mvc路由区分,如果不修改,则会导致路由路径一样,只会进入同一个路由导致出错
                    routeTemplate: "api/{controller}/{action}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                );
            }
        }
    }
    

    在Controllers文件夹下添加webApi路由 TestController.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Web.Http;
    using Base;
    using System.Net.Http.Headers;
    using NPOI.HSSF.UserModel;
    using NPOI.SS.UserModel;
    using System.IO;
    
    namespace NFine.Web.Controllers
    {
        public class testController : ApiController
        {
            [HttpGet]
            public HttpResponseMessage test()
            {
                return "hellow world".HttpResponseSerializeObject(true, "");
            }
    }
    

    在Global.asax中注册路由

    using NFine.Code;
    using System.Web.Http;
    using System.Web.Mvc;
    using System.Web.Routing;
    
    namespace NFine.Web
    {
        public class MvcApplication : System.Web.HttpApplication
        {
            /// <summary>
            /// 启动应用程序
            /// </summary>
            protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
                //在此处注册webApi的路由
                WebApiConfig.Register(GlobalConfiguration.Configuration);
                FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                RouteConfig.RegisterRoutes(RouteTable.Routes);
            }
        }
    }
    

    运行程序,然后看能否进入正常网页,并且在浏览器内输入http://localhost:1851/api/test/test,返回{"result":true,"error":"","data":"hellow world"},表示成功!

    相关文章

      网友评论

          本文标题:在mvc模式中添加webapi

          本文链接:https://www.haomeiwen.com/subject/jxbfnttx.html