[转]Getting Started with ASP.NET Web API 2 (C#)

http://www.asp.net/web-api

 

本文转自:http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

By          Mike WassonMike Wasson|January 20, 2014

Download Completed Project

HTTP is not just for serving up web pages. It is also a powerful platform for     building APIs that expose services and data. HTTP is simple, flexible, and ubiquitous. Almost any platform     that you can think of has an HTTP library, so HTTP services can reach a broad     range of clients, including browsers, mobile devices, and traditional desktop     applications.

ASP.NET Web API is a framework for building web APIs on top of the .NET Framework. In this tutorial, you will use ASP.NET Web API to create a web API that returns a list of products.

Software versions used in the tutorial

Create a Web API Project

In this tutorial, you will use ASP.NET Web API to create a web API that returns a list of products. The front-end web page uses jQuery to display the results.

[转]Getting Started with ASP.NET Web API 2 (C#)

Start Visual Studio and select New Project from the      Start page. Or, from the File menu, select      New and then Project.

In the Templates pane, select Installed Templates         and expand the Visual C# node. Under Visual C#,         select Web. In the list of project templates, select         ASP.NET Web Application. Name the project "ProductsApp" and         click OK.

[转]Getting Started with ASP.NET Web API 2 (C#)

In the New ASP.NET Project dialog, select the Empty template. Under "Add folders and core references for", check Web API. Click OK.

[转]Getting Started with ASP.NET Web API 2 (C#)

You can also create a Web API project using the "Web API" template. The Web API template uses ASP.NET MVC to provide API help pages. I‘m using the Empty template for this tutorial because I want to show Web API without MVC. In general, you don‘t need to know ASP.NET MVC to use Web API.

Adding a Model

A model is an object that represents the data in your application.                 ASP.NET Web API can automatically serialize your model to JSON, XML, or some                 other format, and then write the serialized data into the body of the HTTP                 response message. As long as a client can read the serialization format, it can                 deserialize the object. Most clients can parse either XML or JSON. Moreover, the                 client can indicate which format it wants by setting the Accept header in the                 HTTP request message.

Let‘s start by creating a simple model that represents a product.

If Solution Explorer is not already visible, click the View menu                 and select Solution Explorer. In Solution Explorer, right-click                 the Models folder. From the context menu, select Add                 then select Class.

[转]Getting Started with ASP.NET Web API 2 (C#)

Name the class "Product". Add the following properties to the                     Product class.

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; }
    }
}

                Adding a Controller

In Web API, a controller is an object that handles HTTP requests. We‘ll add a controller that can return either a list of products or a single product specified by ID.

Note  If you have used ASP.NET MVC, you are already                 familiar with controllers. Web API controllers are similar to MVC controllers, but inherit the ApiController class instead of                the                 Controller class.

In Solution Explorer, right-click the Controllers folder. Select Add     and then select Controller.

[转]Getting Started with ASP.NET Web API 2 (C#)

In the Add Scaffold dialog, select Web API Controller - Empty. Click Add.

[转]Getting Started with ASP.NET Web API 2 (C#)

In the Add Controller dialog, name the controller "ProductsController". Click Add.

[转]Getting Started with ASP.NET Web API 2 (C#)

The scaffolding creates a file named ProductsController.cs in the Controllers folder.

[转]Getting Started with ASP.NET Web API 2 (C#)

                You don‘t need to put your contollers into                 a folder named Controllers. The folder name is just a                 convenient way to organize your source files. 

If this file is not open already, double-click the file to open it. Replace the code in this file with the following:

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 NotFound();
            }
上一篇:Windows的所有风格与扩展风格


下一篇:Ruby学习的一天-window下环境搭建及Ruby基础