Web API一种REST架构风格的Web服务。所谓的REST架构与技术无关,而是面向资源的一种软件架构设计。

WCF自3.5之后也提供了对REST风格的支持,但和WebAPI来比较显得较为笨重,WebAPI提供了更轻量级的通信架构。

我们看如何创建一个WebAPI服务

首先新建一个solution,并在该solution下面新建一个WebApi Project,如图

aaarticlea/png;base64,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" alt="" width="663" height="459" />

在新建的WebAPI项目中,新加Controller(类似于MVC的创建),我们起名叫CustomerController,在CustomerController中我们提供对Customer数据

简单的添加和查询功能。具体的需要调用仓储来实现内部逻辑处理,仓储类代码如下

//Model类
namespace CustomerService.Models
{
    public class Customer
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public string Email { get; set; }
    }
}
namespace CustomerService.Repository
{
    public interface ICustomerRepository
    {
        Customer GetCustomer(int id);         int Add(Customer customer);
    }
}
namespace CustomerService.Repository
{
    public class CustomerRepository : ICustomerRepository
    {
        private static List<Customer> customers = new List<Customer>()
        {
            new Customer()
            {
                ID = 1,
                Name = "zhangsan",
                Email = "zhangsan@dx.com"
            },
            new Customer()
            {
                ID = 2,
                Name = "lisi",
                Email = "lisi@dx.com"
            },
            new Customer()
            {
                ID = 3,
                Name = "wangwu",
                Email = "wangwu@dx.com"
            }
        };         public Customer GetCustomer(int id)
        {
            return customers.FirstOrDefault(c => c.ID == id);
        }         public int Add(Customer customer)
        {
            int maxId = 0;
            if (customers != null)
            {
                maxId = customers.Max(c => c.ID);
                customer.ID = maxId;
                customers.Add(customer);
            }
            return maxId;
        }
    }
}

下面就来看一下Controller的代码


namespace CustomerService.Controllers
{
public class CustomerController : ApiController
{
private ICustomerRepository customerRepository; public CustomerController()
{
customerRepository = new CustomerRepository();
} public Customer GetCustomerById(int id)
{
return customerRepository.GetCustomer(id);
} public int AddCustomer(Customer customer)
{
return customerRepository.Add(customer);
}
}
}

以上是对Web API服务的创建步骤。WebAPI中也存在路由配置,可以对服务的地址进行个性化。具体是在项目中自动生成的App_Start文件加下WebApiConfig.cs中配置,代码如下

namespace CustomerService
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute(
name: "GetCustomer",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
); config.Routes.MapHttpRoute(
name: "AddCustomer",
routeTemplate: "api/{controller}/add",
defaults: new { id = RouteParameter.Optional }
);
}
}
}

上面的代码是在Application_Start()方法中调用的(新建WebAPI项目的时候自动生成好的)

namespace CustomerService
{
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
}

至此,我们的第一个WebAPI服务已经创建成功,启动运行该项目后(服务已启动状态),在浏览器(Chrom)中输入服务的地址查询单个Customer

http://localhost:24434/api/customer/1浏览器会展示出Xml格式的结果

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8EAAAEBCAIAAADXXTDKAAAgAElEQVR4nO3d+3NU53348fM39Ef/GWhQv+00td0kM0mYTjMduwFhDMKYxOlMU/eXNpkG0RgkyEwCGLCL7WCwHS42NY5pwTZgabUYoTtacbGNAxZG111ppV1dwCTe7w/nsufyPM95ztmr4P3yWjr7nOe+z5796HB21/ga0HbfFpqnal3C8nP/6/v379//mlWE+O7fv/81qwgluHfv7r179+76Ld1dcm8tmffumcwN697de+YOZ6ezfdfevusk2Ml3nV/FgmY37IS7rr13i7XZLdqZraqsQbi64KQGeCpylWJo8YdmWB2+e/eevVDshLtWorXIikn3XL/vFXe5MjjL0qmpWKVVY/Gu5467Qnfb9zz7fVXc83TX1SBDY2gMjaExNIbG0BgaQ2No5R+acXfJ/Fvr7tLdu/afX/ZfYXfvLt1dWrJ+Ltl/ni3ZiVbOJdem6a7zt1sx/9LdpaUlu5Ulz995xcLudsw/AF0llswsTm+dZpzeFKuxEhkaQ2NoDI2hMTSGxtAYGkMr/9CMpaK7S153Ayl2LkG6KGu8TMW8d6Wd8NV1V7ZDlsbQ5BXGy1TMy9AYmvc+Q5NVGC9TMS9DY2je+wxNVmG8TMW8DI2hee9bKcbS0tLi0tLS0uLSovl7cXHRSls0fy6av5eWlhYXlxYXFxcXlxYXXfmXFhfNXK7CVsbiPue3VdPSopXNKrS4ZN/MnHbDi3Y7S3YdxXxWQbvpJWt70d5WDy2Tydy4cWM4NTwwMDAw0N8/0N/f398/0N8/0D/Q3++kDQz09/cPDAz0W78GrIzFfc7vAbOmgX4rm1Wof8C+mTkH7GJ2OwN2HcV8VkG76QFru9/eHhgwmyt2td9Os/a6OsTQGBpDY2gMjaExNIbG0Mo7NGNxcWExaCG4tSDJ4E+W7JGXCckZ2F5YWFxcsJPFdS64/hfWPTIycvXq1aWlpT//+c8FAAAAIApjYWFhYdH5sbC4sGDGpwsLC2YEurBQjFqt/XZW1+9Fq6TFKu6qsqhYRXG/vbFoNWZnMjuyaDdvdWbB1w+r+KLdI6dr4qFNTU1du379m2++qfXkAwAAYFky5hcWFuYX5p0Id95KmDfvzC/ML1h7nTyeu/bu+WJRM2XeqXC+mG3eqtKTNj9vtzS/YDdodcks7FQ4P+/qwbzd8XlXiqdhydA+++yzpaWlcs1gwwFu3JblDQAAxGYszIstuH7KqPfqZJi3Q+popReEd/z5ZeUHBwbKeBK65pEQN27xbgAAIDYjPz8/n5/PO+bnrTvz9ub8vPljPj+fz8/n8+YvK9XJMZ+fn5+3kl0Z7b3z5v55u6J5uw3n17y7/Xm7zmLTTjlXEft/u7ligtM9wdB6+3rLOIM1j4S4cYt3AwAAsRn5XD6fN384cvlcLpfP5fKuXTlnw/PbW9An58ngzW9vWA3lBA0Ia7RSP/v0s//93//dvXt3R0fHp599auXP5fP5/JEjR4UtOkPr6e2RTcfS0lJ7e/uuXbtabLt27Wpvb1dc+1HzSIgbt3g3AAAQm5HLOfFrLpfLHzt+7NFHH/3bv/3bzz7/LJfPmbF0zvqdz7mSzFg3V0y1crny53K5vPlrenq6t7evt6/39u3bTgZ3wXyximIlxb2uOwP9/c8888xf//VfP/7443/3d3/32GOP/dVf/dUzzzzT39+fy+V+8YtfbN682WndPTSn27IY+tatW21tbb/85S/PnDlz6tSp48ePDw4Onjlzpq2tra2t7datW8JSDQcKLTcLhZlCUwWiHHfNLTcLhZu1D7yW461yD9CyvgEAgNiMXC43Z/9//Pjxxx9//Ic//OGqVav279+fy83NzeVyubm5XG4uN5ebm8uZW3PmVi5nFcyZu+Zyc3NWkpXVyjc398ebNwcGBy5fHuzr67v91Vd2hTm7zNycXb1VPjc3Zzbu2Z47duzYt771rVWrVj355JNr1qxpampavXr1k08+uWrVqkcfffS555777ne/+2//9m9OZc7/5ob5s6e7OzgRt27damlp2bNnz4cffphMJgcHB69fv55OpwuFwvT09Msvv9zS0iIMoysaotUwhm4acA1S0m6iUCgUCi16u1puFus79E60Cs3OCBvSuR2aETxAJdZZ/zffAM27IwPFDAAAIDZjzjQ7d/z48W9/+9urV6/esGHDxo0bb926ZabPzc2av+acXwKSPXbydGZ6eHj4ypUrqVSqr6/v9u3brloFpYXV9ff3P/74408++eS6desOHDgwPDw8Pj4+PDx84MCBdevWrV271gys//3f/11UV7HK7kAMvbS01NbWdvTo0cHBwfb29vb29uvXr1+/fv3+/ftmhq6urj179rS1tQUv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KjZklXJqditWO1qs4I69PWp3w2rE6orT7p1i73WHphNAO2H08hraA/yoMTSGxtAYGkNjaAyNodVqaIY5ujt37ig2nITi9qjzczS41yk36sk/6s9nz6srdVRQyx2FUdGdQEnl0E5/1DEZxemPOpbL0PzFH6BHzV+coTG0YipDE1QkKMHQfGkMjaEVUxmaoCJBiYd7aMbpjzoe8lukANoJo7lx48aNGzdu3Lg9tDcj5FtOAAAAAHgRQwMAAADREEMDAAAA0Rjybw6EwMWLFw8dOvTrenL48OGurq5aTwzqQvXXp/7yK0vfWO0AgDphJBKJEydOnDhx4mRc77777smTJ5PJ5J07d2o9nMq6cOHCa6+9duvWrXv15ObNm6+88sqFCxdqPT2osZqsT83lV66+sdoBAHXCeOutt95///0PP/zw3Llz52M5d+7chx9+ePLkyYsXL4490A4ePDgyMlKWyKO8RkZGDh48WOvpQY3Van3qLL8y9o3VDgCoB8bp06eTyWRPT0+fSL+XME9fX19PT09nZ+e5c+dqPZzK+vWvf323Xv3617+u9fSgxmq4PkOXX3n7xmoHANSc0d7e3tvbOzQ0lEqlUqmUuTFsuyIxPDycchkaGurt7e3s7Bx9oO3cuXOpXu3cubPW04Maq+H6DF1+5e0bqx0AUHNGMpkcHBxMpVIdHR3/93//9/7777/33nt/+MMf3nc5derUhx9+mEwmr169eu3atatXrzqRtGNgYODixYu1Hk5lEUOjnhFDAwBQNcaFCxcGBwf7+/vfe++98fHxQqHwzTfffPPNN3/+85//9Kc/3b9//+uvv753795XX3116tSpoaGh69evC8PowcHBrq6uWg+nsoihUc+IoQEAqBojmUwODAxcunTpjTfeMANoM3rO5/OZTObevXt3795dWlpaXFz8/e9/39/ff+3aNTOGvnr1qhk9m5dzmOehVV9Lvvzt3LlzsV7t3Lmz1tODGqvh+gxdfuXtG6sdAFBzVgydTCYPHDjgPv08NDR06tSpu3fvLi4uLiwszM/Pv/rqq93d3devX3efin7YYuiFekVUgRquT50YuprNAQBQaUYymezv708kEnv37v3Tn/706aefvvTSS/v379+/f/++ffv27dv34osvvvvuu3Nzc/v3779w4YITQDtXcZjvKezv7//kk0++0vTGWqNha9Lc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GCzprUHYVOlD+vJL8fp8e4O/G+bifHuDYaxsHXh7g7GytdW1RovrNVjSW4OHaPmF9s1a+SqSZ0VocwAAVJoVQyeTyZdeeqm3t9c8/WwG0BMTE1euXDl48KB59XMqldq7d+/ExMTly5d3795969YtM9o2Y+ienp6KxNBmTuue+cu7K1C3v6YRVd4AAB18SURBVH5pE1964hc7mrY29WJoeZwRHg28vcGMRgZaVwrDEj+npmAALYkqqjOHmtzlw2No6V5Xr+TRakDTlpC43G3FloT990Niy4oVWxLWnxOJLSuMFU1NK1Y0Na3wz53wry7Jn2LB0ZbpjxNJDG0tspWtA9bdgdaVxsoNG1au3LBh5Ya3vX/nCf/mk/whGCWo1fr7U7tZYmgAQM0Z7e3tPT09Fy9ePHr0aGtr6/PPP//jH//42Wef3bx58+bNm59++unvfe975nsN33nnnT179uzevXvXrl27du06ffq0GW3/9re/PX/+fHd3d2dn5y2lji0rjDWv37p169bra4wVWzr8qe575u+OLSusjK+vMQzD8BR3V+KppcMOmOzd3ibcTblq8Lcd7H9ra+t0iL7tK43169ev3N4XltPKbBiGXubp6elpwzDMGCK4q7W1VTLfFZ1Dba+vMYrFOwQRbXAJyOpxP2ReOn30dMTVHW+aNVXu/q1ZY6x5/VbHlhV2++6u2Nuikbmjc1nPy0K0Po+v93di/fr1xvrj033bV9oL7/j64hq0t621KbFyu8byC+2b9RRYf1yy3N39itgcAACVZsXQPT09iUTi1KlTR44ceeONNw4fPmz+3Ldv37/+67/Oz8+Pjo7u2bPnwoULN27c+Pzzz//whz/s3bt3dHR0YmLiN7/5jXkeOmoMvWWNYRjGmi2ewMcdjHh3vb7GG4StWSMMp1yRsRUICSOXQADtIovTWltbMyrHnjaMldt6MplMz7aV5kZI7mJQEpbbNjMzI0yXxtAVnENfCUUeK7TUi8ejxNDBWFcduHrzm39EiEZnTZQdMRfnTRVDv75ljaciZbzv6VEJf5y4iNbnsaeNp48VF6R117tEjz1dXH/HnjZWbju27WnPenRnENOJoUXlerattDsUJG+WGBoAUHPGxx9/3N3d3dfX193dffHixWQymbB1dna+//77ra2tuVyup6fnrbfempqaymQy6XT6s88+O3jw4ODg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" alt="" />

 

Asp.Net WebApi服务的创建的更多相关文章

  1. ASP.NET WebApi服务接口如何防止重复请求实现HTTP幂等性

    一.背景描述与课程介绍 明人不说暗话,跟着阿笨一起玩WebApi.在我们平时开发项目中可能会出现下面这些情况; 1).由于用户误操作,多次点击网页表单提交按钮.由于网速等原因造成页面卡顿,用户重复刷新 ...

  2. Asp.Net WebApi服务端解决跨域方案

    1.特性方式 主要是继承ActionFilterAttribute,重写OnActionExecuted方法,在action执行后,给响应头加上一个键值对. using System.Web.Http ...

  3. 使用ASP.Net WebAPI构建REST服务(三)——返回值

    Asp.Net WebAPI服务函数的返回值主要可以分为void.普通对象.HttpResponseMessag.IHttpActionResult e四种,本文这里简单的介绍一下它们的区别. 一.返 ...

  4. 重温ASP.NET WebAPI(一)初阶

    重温ASP.NET WebAPI(一)初阶   前言 本文为个人对WebApi的回顾无参考价值.主要简单介绍WEB api和webapi项目的基本结构,并创建简单地webaapi项目实现CRUD操作. ...

  5. ASP.Net WebAPI的返回值

    Asp.Net WebAPI服务函数的返回值主要可以分为void.普通对象.HttpResponseMessag.IHttpActionResult e四种,本文这里简单的介绍一下它们的区别. 一.返 ...

  6. [翻译]创建ASP.NET WebApi RESTful 服务(8)

    本章讨论创建安全的WebApi服务,到目前为止,我们实现的API都是基于未加密的HTTP协议,大家都知道在Web中传递身份信息必须通过HTTPS,接下来我们来实现这一过程. 使用HTTPS 其实可以通 ...

  7. 使用ASP.Net WebAPI构建REST服务(一)——简单的示例

    由于给予REST的Web服务非常简单易用,它越来越成为企业后端服务集成的首选方法.本文这里介绍一下如何通过微软的Asp.Net WebAPI快速构建REST-ful 服务. 首先创建一个Asp.Net ...

  8. 基于OWIN ASP.NET WebAPI 使用OAUTH2授权服务的几点优化

    前面在ASP.NET WEBAPI中集成了Client Credentials Grant与Resource Owner Password Credentials Grant两种OAUTH2模式,今天 ...

  9. AJAX跨域调用ASP.NET MVC或者WebAPI服务

    关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案 作者:陈希章 时间:2014-7-3 问题描述 当跨域(cross domain)调用ASP.NET MVC或者ASP. ...

随机推荐

  1. ASP.NET开发,从二层至三层,至面向对象

    昨天Insus.NET有写了一篇博文<WEB控件没有什么所谓好不好,而是用得好不好>http://www.cnblogs.com/insus/p/3821644.html  很多网友持意见 ...

  2. MVC登录前准备写好cookie

    Insus.NET写过一系列的MVC的练习,昨天学习了jQuery的验证<在MVC应用程序中使用jQuery的验证>http://www.cnblogs.com/insus/p/34626 ...

  3. Could not load file or assembly ‘ Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342’ or one of its dependencies系统找不到指定文件 处理方法

    前些天做EF Model-First测试,开发环境为VS2013,数据库为Oracle 11g.所有东西都装好数据模型已经建立后准备执行“根据模型生成数据库”命令时,出现:Could not load ...

  4. 使用JavaScript实现ajax

    实现ajax之前必须要创建一个 XMLHttpRequest 对象.如果不支持创建该对象的浏览器,则需要创建 ActiveXObject.具体方法如下: var xmlHttp;  function ...

  5. Hibernate中的事务隔离问题(脏读、不可重复读、幻读)

    Hibernate中的事务隔离问题(脏读.不可重复读.幻读) 1.事务的特性 事务的四个特性: 1)原子性:事务是进行数据库操作的最小单位,所以组成事务的各种操作是不可分割的 2)一致性:组成事务的各 ...

  6. Three.js开发指南---使用高级几何体和二元操作(第六章)

    本章的主要内容: 一,高级几何体-凸面体ConvexGeometry,扫描体LatheGeometry,管状几何体TubeGeometry: 二,使用拉伸几何体ExtrudeGeometry将一个二维 ...

  7. HDU5036 Explosion(期望 bitset)

    题意 题目链接 Sol 和cf上的一道题几乎一摸一样 首先根据期望的线性性,可以转化为求每个点的期望打开次数,又因为每个点最多会被打开一次,只要算每个点被打开的概率就行了 设\(anc[i]\)表示\ ...

  8. JS--我发现,原来你是这样的JS(引用类型不简单[上篇],且听我娓娓道来)

    一.介绍 没错,这是第五篇,到了引用类型,这次要分成两次博文了,太多内容了,这是前篇,篇幅很长也很多代码,主要讲引用类型和常用的引用类型,代码试验过的,老铁没毛病. 坚持看坚持写,不容易不容易,希望大 ...

  9. iOS 开发之环形倒计时进度条(虚线/实线)

    代码很简单,一看便知.这里为顺时针,若想要逆时针,clockwise改为0,还需更改起始角度和终点角度. 源码地址:https://github.com/LfyDragon/CountDown 直接上 ...

  10. 抽象数据类型(ADT)

    概念 抽象数据类型(ADT),脱离具体实现定义数据结构,它的定义着重于做什么,而忽略怎么做 举例 列表.栈.队列 列表 列表,也叫线性表 抽象定义:数据项线性排列,可以插入某一项,删除某一项,读取某一 ...