C# ASP.NET MVC项目内使用ApiController

1.在App_Start文件夹新建WebApiConfig.cs文件,建立webApi路由的注册方法。

cs 复制代码
using System.Web.Http;

namespace PrivilegeManager
{
    public class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.MapHttpAttributeRoutes();

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

2.修改Global.asax启动项,注册webApi路由(注意要在MVC路由之前注册)。

cs 复制代码
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;

namespace PrivilegeManager
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);//api路由注册要在mvc前面

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);//mvc路由注册
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
    }
}

3.建立API Controller

cs 复制代码
using System;
using System.Collections.Generic;
using System.Web.Http;

namespace PrivilegeManager.Controllers
{
    public class DataApiController : ApiController
    {

        [HttpPost]
        //此方法实际访问地址:ip地址/api/DataApi/GetTest
        public Object GetTest(QueryCommon query)
        {
            //入参是json格式,会自动转成实体。返参的实体也会自动转成json格式
            list = List<实体>();
            return list;
        }


    }
}
相关推荐
星河队长2 小时前
VS创建C++动态库和C#访问过程
java·c++·c#
William_cl2 小时前
【C# MVC 前置】异步编程 async/await:从 “卡界面” 到 “秒响应” 的 Action 优化指南(附微软官方避坑清单)
microsoft·c#·mvc
yong99903 小时前
C#驱动斑马打印机实现包装自动打印
java·数据库·c#
Jose_lz3 小时前
C#开发学习杂笔(更新中)
开发语言·学习·c#
mingupup4 小时前
WPF/C#:使用Microsoft Agent Framework框架创建一个带有审批功能的终端Agent
c#·wpf
YuanlongWang6 小时前
C# 设计模式——单例模式
单例模式·设计模式·c#
YuanlongWang6 小时前
C#基础——GC(垃圾回收)的工作流程与优化策略
java·jvm·c#
YuanlongWang7 小时前
C# 基础——多态的实现方式
java·c#
CodeCraft Studio7 小时前
PDF处理控件Aspose.PDF教程:在C#中将PDF转换为Base64
服务器·pdf·c#·.net·aspose·aspose.pdf·pdf转base64
咕白m62510 小时前
C# 将多张图片转换到一个 PDF 文档
c#·.net