怎么创建一个完整的ASP.NET Web API项目
创始人
2024-11-28 17:42:57
0次

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

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

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

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

3、安全选择

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

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

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

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

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

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

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

(3)、在ProductController里中实现API

 [RoutePrefix("api/products")]
  public class ProductController : ApiController
  {
    //获取产品分页API: api/products/product/getList 
    [HttpGet, Route("product/getList")]
    public Page 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 , 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 中, 还可以托管在进程中,依旧可以使用路由以及其它的特性。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...