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


    }
}
相关推荐
凯丨7 小时前
AI 蠕虫来了:恶意文档如何通过 Copilot for Word 自我传播?
人工智能·c#·copilot
Aaron - Wistron8 小时前
Web API C# (Furion版)带 单元测试
开发语言·后端·c#
骊城英雄10 小时前
基于C#+avalonia ui实现的跨平台点胶机灌胶监控控制上位机软件
开发语言·ui·c#
吾儿良辰10 小时前
一个被BCL遗忘的高性能集合:C# CircularBuffer<T>深度解析
开发语言·windows·c#
哎呦喂我去去去10 小时前
C#实现屏幕墙:同时监控多个电脑桌面(支持Windows、信创Linux、银河麒麟、统信UOS)
linux·windows·c#
caishenzhibiao11 小时前
期货先行者主图 同花顺期货通指标
java·c语言·c#
库拉库拉里11 小时前
Word文档的标题总是自动出现首行缩进怎么办?
c#·word·xhtml
在世修行11 小时前
从零打造 C# 工业视觉检测系统(一):项目全景与架构设计
c#·视觉检测
牡丹雅忻113 小时前
AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
java·开发语言·c#
脚踏实地皮皮晨13 小时前
002002002_DepandencyObject类2
开发语言·windows·算法·c#·visual studio