创建一个简单的Web API 项目
创建一个简单的Web API 项目
创建一个简单的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 中, 还可以托管在进程中,依旧可以使用路由以及其它的特性。
- ASP.NET中Web API的简单实例
- ASP.NET Web API中参数的传递
- WEB API 中get、post、put,delete请求方式
- 创建一个简单的Web API 项目
- ASP.NET Web API是什么
- 换代在即,现在是抄底 7.5代 高尔夫的最佳时机吗(换代在即现在是抄底)
- 2020年大众7.5代高尔夫R终结特别版 最后的呐喊(2020年大众7.5代高尔夫R终结特别版)
- 七年前的这部剧有毒,全剧只有女主红到发紫,男主至今无人认识(七年前的这部剧有毒)
- 宋轶除了演过于曼丽,原来还演过一个青楼女子(宋轶除了演过于曼丽)
- 赵丽颖第一部当女主的戏,主角配角个个都是实力演员(赵丽颖第一部当女主的戏)
- 乾隆为何这么喜爱白塔原因是什么(乾隆为何这么喜爱白塔原因是什么)
热门推荐
- python进程管理教程(Python I/O与进程的详细讲解)
- sqlserver存储过程参数默认值(sql server使用临时存储过程实现使用参数添加文件组脚本复用)
- 欧洲云服务器和VPS有哪些区别?(欧洲云服务器和VPS有哪些区别?)
- php导出excel使用方法(PHP使用ajax的post方式下载excel文件简单示例)
- filezilla连接远程服务器配置(FileZilla 425 无法连接FTP的解决方法阿里云服务器)
- 五分钟学会docker镜像与容器操作(Docker如何制作自己镜像并上传dockerhub)
- python 正则表达式菜鸟教程(详解Python正则表达式re模块)
- ASP.NET泛型约束
- android系统如何截屏(Android实现矩形区域截屏的方法)
- dedecms悬浮导航(DEDECMS开启绝对地址PC端跳转到静态手机端实现方法)