ASP.NET Web API 2 入门(一)

前言

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"。将以下属性添加到 Product类。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApiDemo.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.cs 文件。

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

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

using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebApiDemo.Models;

namespace WebApiDemo.Controllers
{
    public class ProductsController : ApiController
    {
        Product[] products = new Product[]{
          new Product{Id=1,Name="Toky1",Category="中国1",Price=1},
          new Product{Id=2,Name="Anglelaf",Category="中国2",Price=3.75M} ,
          new Product{Id=3,Name="Sendnal",Category="中国3",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 NotFound();
            }
            return Ok(product);

        }
    }
}

为了保持示例简单,产品存储在一个固定的数组,在控制器类的内部。当然,在实际的应用中,你会查询数据库,或使用一些其他外部数据源。

控制器定义返回的产品的两种方法:

  • GetAllProducts方法返回整个清单上的产品作为一种IEnumerable < 产品 >类型。
  • GetProduct方法查找一个单一的产品,通过其 id。

就是它 !你有一个工作网络 API。每个控制器上的方法对应于一个或多个 Uri:

Controller Method URI
GetAllProducts /api/products
GetProduct /api/products/id
时间: 2024-12-20 08:30:27

ASP.NET Web API 2 入门(一)的相关文章

水果项目第3集-asp.net web api开发入门

app后台开发,可以用asp.net webservice技术. 也有一种重量级一点的叫WCF,也可以用来做app后台开发. 现在可以用asp.net web api来开发app后台. Asp.net web api 官方定义: ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mo

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 返回的产品列表. 在本教程中使用的软件版本 视觉工作室 2013 年 Web

ASP.NET Web API 2 入门教程

译者:jiankunking 出处:http://blog.csdn.net/jiankunking 源码下载 HTTP不仅提供web页面服务,在构建公开服务和数据api方面,它也是一个强大的平台.HTTP简单.灵活.无处不在.几乎你能想到的所有的平台,都有一个HTTP库,因此HTTP服务可以影响到广泛的客户端,包括浏览器.移动设备,和传统的桌面应用程序. ASP.NET Web API是一个基于.NET框架用于构建Web API的框架.在本教程中,您将使用ASP.NET Web API创建一个

[翻译]ASP.NET Web API 2入门

原文:Getting Started with ASP.NET Web API 2 Step 1:新建一个Empty的Web API Project. Step 2:添加一个Model: public class Product { public int Id { get; set; } public string Name { get; set; } public string Category { get; set; } public decimal Price { get; set; }

ASP.NET Web API 之一 入门篇

一.基于RESTful标准的Web Api 原文讲解:https://www.cnblogs.com/lori/p/3555737.html 微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService,它是简单,代码可读性强的,上手快的,如果要拿它和web服务相比,我会说,它的接口更标准,更清晰,没有混乱的方法名称,有的只有几种标准的请求,如get,post,put,de

Asp.Net Web API 2第一课——入门

前言 Http不仅仅服务于Web Pages.它也是一个创建展示服务和数据的API的强大平台.Http是简单的.灵活的.无处不在的.你能想象到几乎任何的平台都会有HTTP服务库.HTTP服务可以涉及到范围广泛的客户端,包括浏览器.各种移动设备和传统的桌面应用程序. Asp.Net Web API是在.NET Framework框架上用于建立Web APIs的一个框架.在这个教程中,你将会使用Asp.Net Web API框架来创建一个能够返回产品列表的Web API.前端的Web 页面使用jQu

【Web API】1.1 ASP.NET Web API入门

前言 HTTP不仅仅服务于web页面,同时也是构建暴露服务和数据的API的强大平台.HTTP有着简单.灵活和无处不在的特点.你能想到的几乎所有平台都包含有一个HTTP库,所以HTTP服务可以遍及广泛的客户端,包括浏览器.移动设备和传统桌面应用程序. ASP.NET Web API是一个在.NET框架上构建web API的框架.在本教程中,你将使用ASP.NET Web API来创建一个返回产品列表的web API. 创建Web API项目 在本教程中,你将使用ASP.NET Web API来创建

【Web API系列教程】1.1 — ASP.NET Web API入门

前言 HTTP不仅仅服务于web页面.同一时候也是构建暴露服务和数据的API的强大平台.HTTP有着简单.灵活和无处不在的特点.你能想到的差点儿全部平台都包括有一个HTTP库.所以HTTP服务能够遍及广泛的client,包括浏览器.移动设备和传统桌面应用程序. ASP.NET Web API是一个在.NET框架上构建web API的框架.在本教程中,你将使用ASP.NET Web API来创建一个返回产品列表的web API. 创建Web API项目 在本教程中,你将使用ASP.NET Web

Asp.Net Web API 2第四课——HttpClient消息处理器

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 Asp.Net Web API 导航   Asp.Net Web API第一课:入门http://www.cnblogs.com/aehyok/p/3432158.html Asp.Net Web API第二课:CRUD操作http://www