01Getting Started---Getting Started with ASP.NET Web API 2入门WebApi2

HTTP 不只是为了生成 web 页面。它也是建立公开服务和数据的 Api 的强大平台。HTTP 是简单的、 灵活的和无处不在。你能想到的几乎任何平台有 HTTP 库,因此,HTTP 服务可以达到范围广泛的客户,包括浏览器、 移动设备和传统的桌面应用程序。

ASP.NET Web API 是用于生成 web Api 在.NET 框架上的框架。在本教程中,您将使用 ASP.NET Web API 来创建 web API 返回的产品列表。

在本教程中使用的软件版本

创建一个 Web API 项目

在本教程中,您将使用 ASP.NET Web API 来创建 web API 返回的产品列表。前端的 web 页中使用 jQuery 来显示结果。

启动 Visual Studio 时,从起始页选择新项目或者,从文件菜单中,选择新建项目.

模板窗格中,选择已安装的模板和展开Visual C#节点。Visual C#,选择Web在项目模板的列表中,选择ASP.NET Web 应用程序命名该项目"ProductsApp"并单击确定.

新的 ASP.NET 项目对话框中,选择的模板。根据"添加文件夹和核心的参考文件",检查Web API单击确定.

您还可以创建一个 Web API 项目使用"Web API"模板。Web API 模板使用 ASP.NET MVC 提供 API 的帮助页。我在本教程中使用空模板,因为我想要让没有 MVC Web API。一般情况下,你不需要知道 ASP.NET MVC 使用 Web API。

添加一个模型

模型是一个对象,表示应用程序中的数据。ASP.NET Web API 可以自动序列化 JSON,XML,或一些其他格式,您的模型,然后将序列化的数据写入到 HTTP 响应消息的正文。只要客户端可以读取序列化格式,它可以反序列化的对象。大多数客户端可以解析 XML 或 JSON。此外,客户端可以表明哪一种格式它希望通过在 HTTP 请求消息中设置 Accept 标头。

让我们开始创建一个简单的模型,它表示一种产品。

如果解决方案资源管理器中不可见,请单击视图菜单中,选择解决方案资源管理器在解决方案资源管理器中,右键单击模型文件夹。从上下文菜单中,选择添加,然后选择.

将类命名为"产品"。将以下属性添加到 Product类。

namespace ProductsApp.Models { public class Product { public int Id { get; set; } public string Name { get; set; } public string Category { get; set; } public decimal Price { get; set; } } }

添加控制器

在 Web API 中,控制器是一个处理 HTTP 请求的对象。我们将添加一个控制器,可以返回的产品列表或一个单一的产品 ID 指定的

注意如果你使用了 ASP.NET MVC,您控制器已经熟悉了。Web API 控制器类似于 MVC 控制器,但是继承ApiController类而不是控制器类。

解决方案资源管理器中,右键单击控制器文件夹。选择添加,然后选择控制器.

添加脚手架对话框中,选择Web API 控制器-空单击添加.

添加控制器对话框中,名称"ProductsController"控制器。单击添加.

脚手架创建一个名为控制器文件夹中的 ProductsController.cs 文件。

你不需要把您的控制器放进一个文件夹命名为控制器。文件夹名称是只是方便的方式来组织您的源文件。

如果没有打开此文件,则请双击文件以打开它。此文件中的代码替换为以下内容:

using ProductsApp.Models; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Web.Http; namespace ProductsApp.Controllers { public class ProductsController : ApiController { Product[] products = new Product[] { new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 }, new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M }, new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M } }; public IEnumerable<Product> GetAllProducts() { return products; } public IHttpActionResult GetProduct(int id) { var product = products.FirstOrDefault((p) => p.Id == id); if (product == null) { return 

转载于:https://www.cnblogs.com/duyao/p/5181290.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值