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;
        }


    }
}
相关推荐
qq_454245031 小时前
图数据标准化与智能去重框架:设计与实现解析
数据结构·架构·c#·图论
CSharp精选营1 小时前
C# 如何减少代码运行时间:7 个实战技巧
性能优化·c#·.net·技术干货·实战技巧
hhh3u3u3u14 小时前
Visual C++ 6.0中文版安装包下载教程及win11安装教程
java·c语言·开发语言·c++·python·c#·vc-1
加号314 小时前
【C#】实现沃德普线光控制器通信控制(附完整源码)
开发语言·c#
lzhdim15 小时前
SharpCompress:跨平台的 C# 压缩与解压库
开发语言·c#
~plus~17 小时前
.NET 8 C# 委托与事件实战教程
网络·c#·.net·.net 8·委托与事件·c#进阶
beyond谚语18 小时前
接口&抽象类
c#·接口隔离原则·抽象类
新手小新19 小时前
C#学习笔记1-在VS CODE部署C#开发环境
笔记·学习·c#
rockey62721 小时前
AScript动态脚本多语言环境支持
sql·c#·.net·script·eval·function·动态脚本
ou.cs1 天前
c# SemaphoreSlim保姆级教程
开发语言·网络·c#