创建一个完整的ASP.NET Web API项目

Visual Studio为我们提供了专门用于创建ASP.NET Web API应用的项目模板,借助于此项目模板提供的向导,我们可以“一键式”创建一个完整的ASP.NET Web API项目。在项目创建过程中,Visual Studio会自动为我们添加必要的程序集引用和配置,甚至会为我们自动生成相关的代码,总之一句话:这种通过向导生成的项目在被创建之后其本身就是一个可执行的应用。
一、通过VS2013、.NET 4.5.1创建一个Web API项目
1、解决方案下面新建项目


2、选择项目WEB API模板, 在最下方的MVC主要是默认会自带微软的API Helper, 使用MVC发布

 

3、安全选择

 

4、点击确定按钮,VS2013将生成一个简单的Web API项目

 

5、运行项目,启动项目之后, 点击界面上API按钮可以看到默认创建的API

6、新建一个Products API
(1)、添加ProductController
(2)、选择empty 控制器

(3)、在ProductController里中实现API

 [RoutePrefix("api/products")]
  public class ProductController : ApiController
  {
    //获取产品分页API: api/products/product/getList
    [HttpGet, Route("product/getList")]
    public Page<Product> GetProductList()
    {
      throw new NotImplementedException();
    }

    //获取单个产品API: api/products/product/get?productId=产品ID
    [HttpGet, Route("product/get")]
    public Product GetProduct(Guid productId)
    {
      throw new NotImplementedException();
    }

    //产品新增API: api/products/product/add?productId=产品ID
    [HttpPost, Route("product/add")]
    public Guid AddProduct(Product product)
    {
      throw new NotImplementedException();
    }

    //产品新增API: api/products/product/add?productId=产品ID
    [HttpPost, Route("product/update")]
    public void UpdateProduct(Guid productId, Product product)
    {
      throw new NotImplementedException();
    }

    //产品删除API: api/products/product/delete?productId=产品ID
    [HttpDelete, Route("product/delete")]
    public void DeleteProduct(Guid productId)
    {
      throw new NotImplementedException();
    }
  }

二、ASP.NET Web API 特性
1、先进的 HTTP 编程模型 
 使用新的强类型的 HTTP 对象模型直接操作 HTTP 请求和响应, 在 HTTP客户端使用相同的编程模型和 HTTP 管道;
 2、支持路由
 Web API 完整支持 ASP.NET 路由, 包括路由参数和约束。 此外, 到动作的映射支持约定, 从此将不再需要向类或者方法添加类似于 [HttpPost] 之类的属性;
 3、内容协商
 客户端与服务端可以一起决定 API 返回数据的格式。 默认支持 XML, JSON 以及 Form URL-Encoded 格式, 可以扩展添加自定义格式, 甚至可以替换掉默认的内容协商策略;
 4、模型绑定与验证
 模型绑定器可以轻易地从 HTTP 请求中提取数据并转换成在动作方法中使用的 .Net 对象;
 5、过滤 
 Web API 支持过滤, 包括总所周知的 [Authorize] 过滤标记, 可以为 Action 添加并插入自定义过滤, 实现认证、异常处理等;
 6、查询聚合
 只要简单的返回 Iqueryable<T> , Web API 将会支持通过 OData 地址约定进行查询;
 7、改进的 Http 细节可测试性
 Web API 不是将 HTTP 细节设置到一个静态的 Context 对象上, 而是使用 HttpRequestMessage 和HttpResponseMessage 实例, 可以使用这些对象的泛型版本为这些 Http 类型添加自定义类型;
 8、改进的依赖反转 (IoC) 支持
 Web API 使用 MVC Dependency Resolver 实现的服务定位器模式在不同的场景下来获取实例;
 9、基于代码的配置
 Web API 单独使用代码完成配置, 从而保证了配置文件的整洁;
 10、自托管 (Self-Host) 
 Web API 除了可以托管在 IIS 中, 还可以托管在进程中,依旧可以使用路由以及其它的特性。

以上就是本文的全部内容,介绍了如何创建一个简单的Web API项目,希望对大家的学习有所帮助,之后的文章还会介绍Web API的简单实例,希望大家继续关注。

(0)

相关推荐

  • ASP.NET Core项目结构教程(4)

    在这一章,我们将讨论 ASP.NET Core项目在文件系统上的组成方式以及不同的文件和目录都是如何协同工作的. 让我们打开在前一章创建的FirstAppDemo项目. 在解决方案资源管理器窗口中,右击解决方案节点并选择"Open Folder in File Explorer". 您将看到在它的根目录下有两个文件︰ FirstAppDemo.sln和global.json. FirstAppDemo.sln文件是一个解决方案文件.Visual Studio多年来在默认情况下一直使用s

  • 使用ASP.NET.4.5.1+MVC5.0 搭建一个包含 Ninject框架 项目

    1.创建一个空白解决方案 2.添加一个类库 名称为XXX.Domain 3.添加一个ASP.MVC名称为XXX.WebUI 4.选着空模版,勾选MVC核心引用 5.添加单元测试项目XXX.UntiTests 6.在程序包控制台里面输入以下代码 复制代码 代码如下: Install-Package Ninject -version 3.0.1.10 -projectname Toad.WebUI Install-Package  Ninject.Web.Common  -version  3.0.

  • iis6伪静态重写路径的配置步骤(.net项目)

    第一步:在网站项目涨添加URLRewriter程序集的引用和FormRewriterControlAdapter程序集引用. 注:如果项目中有分页,那么需要添加"FormRewriterControlAdapter"程序集引用,否则不需要添加该引用. 下载地址:http://www.net.cn/service/ziliao/cpsc/200906/3842.html(万网/帮助中心(M享主机UrlRewrite组件和使用手册)) 第二步:配置webconfig文件: 注意事项:1.参

  • ASP.NET Core新建项目教程(3)

    ASP.NET Core - 新建项目 在这一章,我们将讨论如何在Visual Studio中创建一个新项目. 只要你安装了Visual Studio 2015的.net core工具,您就可以开始构建一个新的ASP.net core应用程序,从菜单选择:File → New Project 在新项目对话框中,您将看到以下三个不同的Web项目模板 ASP.NET Web Application−简单的ASP.NET应用程序的模板. ASP.NET Core Web Application (.N

  • 使用.NET命令行编译器编译项目(如ASP.NET、C#等)

    源程序最好有.csproj或.vbproj文件,没有的话,要花些时间调试 下面我以VB.NET做示例讲解一下: 从proj我们可以获取以下有用信息 Settings小节中有很多配置选项,对应一些编译器选项 <References>小节中是项目的引用,第3方类库最好用绝对路径 <Imports>小节中是要导入的一些命名空间 <Files>小节中有项目的所有文件,选取 BuildAction = "Compile"的文件 用vbc测试了一下,很容易,注意

  • 如何为asp.net网站项目添加子项目

    之前也曾经想过,这些功能根据不同处于项目中的不同文件夹内,比如会员的会在member,后台管理的会在admin文件夹,新闻的会在news文件夹.这样的话如果vs支持按不同文件夹生成不同dll,那我每次修改不同功能的不同文件只要上传对应的dll就可以了,不再需要上传整个website的dll. 不过想法是美好的,事实是残酷的.vs并不支持这样的功能.所以在功能直接交互和文件共享并不多的功能上,我采取了重新建立一个projects的方法,比如把后台管理剥离出来,新建一个admin的website,这

  • .net 读取项目AssemblyInfo.cs属性值

    We write all those code repetitively for dynamic assembly loading and checking to verify few properties on assemblies. It would be a great stop to write all such things in the assemblyinfo.cs (because it needs to completely describe the assembly that

  • asp.net 不用组件的URL重写(适用于较大型项目)

    先在网站根目录下建立一个config文件夹,再在此文件架下建立一个urls.config文件,这里记录url的配置信息代码如下: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <urls> <rewrite name="default" path="/default-{0}-{1}.aspx" pattern = "/default-

  • 关于有些Asp.net项目发布后出现网址乱码的解决方法

    当我输入网站域名,打开网页后url中会跟一段"乱码" 复制代码 代码如下: http://www.XXXX.com/(S(jnzpixfqi5rge5rnl45vdb45))/index.aspx 最后在查看web.config时看到了一句 <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="d

  • 创建一个完整的ASP.NET Web API项目

    Visual Studio为我们提供了专门用于创建ASP.NET Web API应用的项目模板,借助于此项目模板提供的向导,我们可以"一键式"创建一个完整的ASP.NET Web API项目.在项目创建过程中,Visual Studio会自动为我们添加必要的程序集引用和配置,甚至会为我们自动生成相关的代码,总之一句话:这种通过向导生成的项目在被创建之后其本身就是一个可执行的应用. 一.通过VS2013..NET 4.5.1创建一个Web API项目 1.解决方案下面新建项目 2.选择项

  • 使用Visual Studio创建ASP.NET Web API项目

    在本篇文章中将讲解如何使用Visual Studio创建一个新的ASP.NET Web API项目. 在VisualStudio中有两种方式用于创建WebAPI项目: 1.创建带MVC的WebAPI项目. 2.创建独立的WebAPI项目. 一.创建带MVC的WebAPI项目 在示例程序中使用的是VisualStudio 2013版本,创建一个新的WebAPI项目并且带MVC的模板,它包含了所有必要的引用. 1.选择“文件”->“新建”->“项目”,截图如下所示: 2.在弹出的新建项目窗口中,左

  • ASP.NET Web Api 2实现多文件打包并下载文件的实例

    最近由于工作和个人事务,站点也好久没更新了,但这并不影响我对.NET的热情.站点的更新工作还是得想办法抽时间来完成的. 今天利用中午的时间来写一篇关于Asp.Net Web Api下载文件的文章,之前我也写过类似的文章,请见:<ASP.NET(C#) Web Api通过文件流下载文件的实例> 本文以这篇文章的基础,提供了ByteArrayContent的下载以及在下载多个文件时实现在服务器对多文件进行压缩打包后下载的功能. 关于本文中实现的在服务器端用.NET压缩打包文件功能的过程中,使用到了

  • ASP.NET Web API教程 创建Admin控制器实例分享

    In this section, we'll add a Web API controller that supports CRUD (create, read, update, and delete) operations on products. The controller will use Entity Framework to communicate with the database layer. Only administrators will be able to use thi

  • 剖析Asp.Net Web API路由系统---WebHost部署方式

    上一篇我们剖析了Asp.Net路由系统,今天我们再来简单剖析一下Asp.Net Web API以WebHost方式部署时,Asp.Net Web API的路由系统内部是怎样实现的.还是以一个简单实例开头. 创建一个空的WebApi项目,在Global中注册路由信息: public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() { //注册路由 GlobalConf

  • 一个完整的ASP.NET 2.0 URL重写方案[翻译]

    这篇文章描述了一个完整的 ASP.NET 2.0 URL 重写方案.这个方案使用正则表达式来定义重写规则并解决通过虚拟 URLs 访问页面产生回发事件的一些可能的困难. 为什么要重写 URL ? 将 URL 重写方法应用到你的 ASP.Net 应用程序的两个主要原因是:可用性和可维护性. 可用性 谁都知道,相对于难于辨认的带参数的长的查询路径,用户更喜欢一些短的.简洁的 URL.任何时候,一个容易记住和敲入的路径比添加到收藏夹更有用.其次,当一个浏览器的收藏夹不可用时,记住的地址总比在搜索引擎中

  • 支持Ajax跨域访问ASP.NET Web Api 2(Cors)的示例教程

    随着深入使用ASP.NET Web Api,我们可能会在项目中考虑将前端的业务分得更细.比如前端项目使用Angularjs的框架来做UI,而数据则由另一个Web Api 的网站项目来支撑.注意,这里是两个Web网站项目了,前端项目主要负责界面的呈现和一些前端的相应业务逻辑处理,而Web Api则负责提供数据. 这样问题就来了,如果前端通过ajax访问Web Api项目话,就涉及到跨域了.我们知道,如果直接访问,正常情况下Web Api是不允许这样做的,这涉及到安全问题.所以,今天我们这篇文章的主

  • 推荐8项提高 ASP.NET Web API 性能的技术

    在本文中,我将介绍8项提高 ASP.NET Web API 性能的技术. 1) 使用最快的 JSON 序列化工具 JSON 的序列化对整个 ASP.NET Web API 的性能有着关键性的影响.在我的一个项目里,我从JSON.NET 序列化工具转到了ServiceStack.Text有一年半了. 我测量过,Web API 的性能提升了20%左右.我强烈建议你去尝试一下这个序列化工具.这里有一些最近的流行序列化工具性能的比较数据. 来源:theburningmonk 更新: 似乎It seams

  • 通过HttpClient 调用ASP.NET Web API示例

    在前面两篇文章中我们介绍了ASP.NET Web API的基本知识和原理,并且通过简单的实例了解了它的基本(CRUD)操作.我们是通过JQuery和Ajax对Web API进行数据操作.这一篇我们来介绍一下使用HttpClient的方式来对Web API进行数据操作. 这里我们还是继续使用对Product的操作实例来演示一下它的基本应用. 创建ASP.NET Web API应用程序 在VS中选择创建一个ASP.NET Web Application应用程序,在向导的下一个窗口中选择Web API

  • Asp.net Web Api实现图片点击式图片验证码功能

    现在验证码的形式越来越丰富,今天要实现的是在点击图片中的文字来进行校验的验证码,如图 这种验证码验证是验证鼠标是否选中了图片中文字的位置,以及选择的顺序,产生验证码的时候可以提供一组底图,然后随机获取一张图片,随机选取几个字,然后把文字的顺序打乱,分别随机放到图片的一个位置上,然后记录文字的位置和顺序,验证的时候验证一下文字的位置和顺序即可 验证码图片的类 /// <summary> /// 二维码图片 /// </summary> public class VerCodePic

随机推荐