AspNetCore.Docs/aspnetcore/tutorials/first-web-api.md

4.5 KiB
Raw Blame History

title author description keywords ms.author manager ms.date ms.topic ms.technology ms.prod uid
Create a Web API with ASP.NET Core and Visual Studio for Windows rick-anderson Build a web API with ASP.NET Core MVC and Visual Studio for Windows ASP.NET Core,WebAPI,Web API,REST,HTTP,Service,HTTP Service riande wpickett 8/15/2017 get-started-article aspnet asp.net-core tutorials/first-web-api

#Create a web API with ASP.NET Core and Visual Studio for Windows

By Rick Anderson and Mike Wasson

In this tutorial, youll build a web API for managing a list of "to-do" items. You wont build a UI.

There are 3 versions of this tutorial:

[!INCLUDEintro to web API]

Prerequisites

[!INCLUDEinstall 2.0]

See this PDF for the ASP.NET Core 1.1 version.

Create the project

From Visual Studio, select File menu, > New > Project.

Select the ASP.NET Core Web Application (.NET Core) project template. Name the project TodoApi and select OK.

New project dialog

In the New ASP.NET Core Web Application - TodoApi dialog, select the Web API template. Select OK. Do not select Enable Docker Support.

New ASP.NET Web Application dialog with Web API project template selected from ASP.NET Core Templates

Launch the app

In Visual Studio, press CTRL+F5 to launch the app. Visual Studio launches a browser and navigates to http://localhost:port/api/values, where port is a randomly-chosen port number. Chrome, Edge, and Firefox display the following:

["value1","value2"]

Add a model class

A model is an object that represents the data in your application. In this case, the only model is a to-do item.

Add a folder named "Models". In Solution Explorer, right-click the project. Select Add > New Folder. Name the folder Models.

Note: The model classes go anywhere in your project, but the Models folder is used by convention.

Add a TodoItem class. Right-click the Models folder and select Add > Class. Name the class TodoItem and select Add.

Replace the generated code with the following:

[!code-csharpMain]

The database generates the Id when a TodoItem is created.

Create the database context

The database context is the main class that coordinates Entity Framework functionality for a given data model. This class is created by deriving from the Microsoft.EntityFrameworkCore.DbContext class.

Add a TodoContext class. Right-click the Models folder and select Add > Class. Name the class TodoContext and select Add.

Replace the generated code with the following:

[!code-csharpMain]

[!INCLUDERegister the database context]

Add a controller

In Solution Explorer, right-click the Controllers folder. Select Add > New Item. In the Add New Item dialog, select the Web API Controller Class template. Name the class TodoController.

Add new Item dialog with controller in search box and web API controller selected

Replace the generated code with the following:

[!INCLUDEcode and get todo items]

Launch the app

In Visual Studio, press CTRL+F5 to launch the app. Visual Studio launches a browser and navigates to http://localhost:port/api/values, where port is a randomly chosen port number. If you're using Chrome, Edge or Firefox, the data will be displayed. If you're using IE, IE will prompt to you open or save the values.json file. Navigate to the Todo controller we just created http://localhost:port/api/todo.

[!INCLUDElast part of web API]

[!INCLUDEnext steps]