VS2012 ASP.NET创建webAPI工程

来源:互联网 发布:产品分析软件 编辑:程序博客网 时间:2024/06/06 00:46

ASP.NET开发WebAPI环境准备      建议使用VS2012以上版本创建WebAPI,如果是使用VS2010,需要安装VS2010 SP1升级包,MVC4升级包,打开VS2012创建如下: 

第一步:新建ASP.NET Web应用程序 


第二步:WebAPI   新生成的WebAPI项目和典型的MVC项目一样,包含主要的Models,Views,Controllers等文件夹和Global.asax文件 


创建成功之后工程中会自动添加一个Web API服务控制器,上面并附带访问地址 。


项目解决方案,选择Models文件夹右键 添加一个Model类 

代码如下: 

using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace ProductsApp.Models{    public class Contact    {        public int ID { get; set; }        public string Name { get; set; }        public string Sex { get; set; }        public DateTime Birthday { get; set; }        public int Age { get; set; }    }}
工程解决方案选择Controllers文件夹右键添加一个新的Web API controller




控制器中添加如下代码: 

using ProductsApp.Models;using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Http;using System.Web.Http;namespace ProductsApp.Controllers{    public class ContactController : ApiController    {                Contact[] contacts = new Contact[]         {             new Contact(){ ID=1, Age=23, Birthday=Convert.ToDateTime("1977-05-30"), Name="情缘", Sex="男"},            new Contact(){ ID=2, Age=55, Birthday=Convert.ToDateTime("1937-05-30"), Name="令狐冲", Sex="男"},            new Contact(){ ID=3, Age=12, Birthday=Convert.ToDateTime("1987-05-30"), Name="郭靖", Sex="男"},            new Contact(){ ID=4, Age=18, Birthday=Convert.ToDateTime("1997-05-30"), Name="黄蓉", Sex="女"},        };        /// <summary>        /// /api/Contact        /// </summary>        /// <returns></returns>        public IEnumerable<Contact> GetListAll()        {            return contacts;        }        /// <summary>        /// /api/Contact/id        /// </summary>        /// <param name="id"></param>        /// <returns></returns>        public Contact GetContactByID(int id)        {            Contact contact = contacts.FirstOrDefault<Contact>(item=>item.ID==id);            if (contact == null)            {                throw new HttpResponseException(HttpStatusCode.NotFound);            }            return contact;        }        /// <summary>        /// 根据性别查询        /// /api/Contact?sex=女        /// </summary>        /// <param name="sex"></param>        /// <returns></returns>        public IEnumerable<Contact> GetListBySex(string sex)        {            return contacts.Where(item => item.Sex == sex);        }    }}

在浏览器中输入url:

eg:http://localhost:65048/api/Contact?sex = '男'

原创粉丝点击