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


    }
}
相关推荐
Humbunklung3 小时前
C# 使用应用RSA和ECC进行数字签名和签名验证
开发语言·c#·rsa·ecc
Rotion_深4 小时前
C# WPF使用线程池运行Action方法
c#·wpf·线程池
大飞pkz5 小时前
【设计模式】策略模式
开发语言·设计模式·c#·策略模式
cgsthtm6 小时前
C#使用linq将数据进行分页
c#·linq·分页·sqlsugar
玩泥巴的6 小时前
不一样的.NET烟火,基于Roslyn的开源代码生成器
c#·.net·代码生成·roslyn
"菠萝"6 小时前
C#知识学习-015(修饰符_4)
开发语言·windows·c#
asdzx677 小时前
使用C#将Markdown转换为Word或PDF:高效文档转换的利器
经验分享·c#
sali-tec7 小时前
C# 基于halcon的视觉工作流-章39-OCR识别
开发语言·图像处理·算法·计算机视觉·c#·ocr
mudtools7 小时前
.net操作Excel:图表 (Chart) 的创建与定制
c#·.net·excel·wps
ajassi20009 小时前
开源 C# 快速开发(八)通讯--Tcp服务器端
开发语言·开源·c#