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

4.3 KiB

title author description manager ms.author ms.date ms.prod ms.technology ms.topic 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 wpickett riande 08/15/2017 asp.net-core aspnet get-started-article tutorials/first-web-api

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

By Rick Anderson and Mike Wasson

This tutorial builds a web API for managing a list of "to-do" items. A user interface (UI) isn't created.

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, Microsoft Edge, and Firefox display the following output:

["value1","value2"]

Add a model class

A model is an object that represents the data in the app. 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 the project. The Models folder is used by convention for model classes.

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

Update the TodoItem class with the following code:

[!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 class with the following code:

[!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 class with the following code:

[!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. Navigate to the Todo controller at http://localhost:port/api/todo.

[!INCLUDElast part of web API]

[!INCLUDEnext steps]