博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给现有MVC 项目添加 WebAPI
阅读量:5141 次
发布时间:2019-06-13

本文共 2712 字,大约阅读时间需要 9 分钟。

1. 增加一个WebApi Controller, VS 会自动添加相关的引用,主要有System.Web.Http,System.Web.Http.WebHost,System.Net.Http

2. 在App_Start 下创建 WebApiConfig.cs 并注册路由

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Web.Http;namespace Libaray.Web.App_Start{    public static class WebApiConfig    {        public static void Register(HttpConfiguration config)        {            // Web API 配置和服务            // Web API 路由            config.MapHttpAttributeRoutes();            config.Routes.MapHttpRoute(                name: "DefaultApi",                routeTemplate: "api/{controller}/{id}",                defaults: new { id = RouteParameter.Optional }            );        }    }}

3. 在Global.asax, Application_Start 下添加 WebAPI 配置

using Libaray.Web.App_Start;using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Http;using System.Web.Mvc;using System.Web.Optimization;using System.Web.Routing;namespace Libaray.Web{    public class MvcApplication : System.Web.HttpApplication    {        protected void Application_Start()        {            AreaRegistration.RegisterAllAreas();            GlobalConfiguration.Configure(WebApiConfig.Register);            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);            RouteConfig.RegisterRoutes(RouteTable.Routes);            BundleConfig.RegisterBundles(BundleTable.Bundles);        }    }}

4. 在第一步添加的WebApi 中填写相应代码, 

using Libaray.Web.Models;using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Http;using System.Web.Http;namespace Libaray.Web.Controllers{    [RoutePrefix("api/SystemUsers")]    public class SystemUsersController : ApiController    {        [HttpGet, Route("GetUserList")]        public List
GetUserModels() { UserModelService UserBS = new UserModelService(); return UserBS.FindList(u => u.isActive == true); } [HttpGet, Route("GetUser")] public UserModel GetUserModel(int id = 0) { if(id != 0) { UserModelService UserBS = new UserModelService(); return UserBS.Find(u => u.Id == id); } else { return null; } } [HttpPost, Route("Login")] public bool Login(string loginId,string password) { UserModelService UserBS = new UserModelService(); return UserBS.ValidateLoginInfo(loginId, password); } }}

5. Run the application and call the API. Example: http://localhost:49919/api/SystemUsers/GetUserList

转载于:https://www.cnblogs.com/tuyile006/p/6151555.html

你可能感兴趣的文章
python细节2
查看>>
游戏引擎 Unity 的入门易精通难体现在哪?为什么?
查看>>
用标签、按钮和文本框编辑一个个人信息简介页面
查看>>
SQL查询xml内容
查看>>
jzoj5813
查看>>
HttpServletRequest 获取URL的方法及区别
查看>>
VMware环境和Window环境进行网络连接的问题
查看>>
macOS10.12允许所有来源设置
查看>>
C++有关 const & 内敛 & 友元&静态成员那些事
查看>>
函数积累
查看>>
python搜索引擎(转)
查看>>
python基础(三)
查看>>
json详解
查看>>
iOS开发日记3-微信支付
查看>>
exec和eval内置函数
查看>>
Java变量命名规范
查看>>
爬虫大作业-爬取B站弹幕
查看>>
delta3d与ode物理引擎的结合。
查看>>
重载与重写的区别
查看>>
小甲鱼pe结构讲解
查看>>