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

4.8 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 VS Code rick-anderson Build a web API on macOS, Linux, or Windows with ASP.NET Core MVC and Visual Studio Code wpickett riande 09/22/2017 asp.net-core aspnet get-started-article tutorials/web-api-vsc

Create a Web API with ASP.NET Core MVC and Visual Studio Code on Linux, macOS, and Windows

By Rick Anderson and Mike Wasson

In this tutorial, build a web API for managing a list of "to-do" items. A UI isn't constructed.

There are 3 versions of this tutorial:

[!INCLUDEtemplate files]

Set up your development environment

Download and install:

Create the project

From a console, run the following commands:

mkdir TodoApi
cd TodoApi
dotnet new webapi

Open the TodoApi folder in Visual Studio Code (VS Code) and select the Startup.cs file.

  • Select Yes to the Warn message "Required assets to build and debug are missing from 'TodoApi'. Add them?"
  • Select Restore to the Info message "There are unresolved dependencies".

VS Code with Warn Required assets to build and debug are missing from 'TodoApi'. Add them? Don't ask Again, Not Now, Yes

Press Debug (F5) to build and run the program. In a browser navigate to http://localhost:5000/api/values . The following is displayed:

["value1","value2"]

See Visual Studio Code help for tips on using VS Code.

Add support for Entity Framework Core

Creating a new project in .NET Core 2.0 adds the 'Microsoft.AspNetCore.All' provider in the TodoApi.csproj file. There's no need to install the Entity Framework Core InMemory database provider separately. This database provider allows Entity Framework Core to be used with an in-memory database.

[!code-xml]

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. You can put model classes anywhere in your project, but the Models folder is used by convention.

Add a TodoItem class with the following code:

[!code-csharp]

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. You create this class by deriving from the Microsoft.EntityFrameworkCore.DbContext class.

Add a TodoContext class in the Models folder:

[!code-csharp]

[!INCLUDERegister the database context]

Add a controller

In the Controllers folder, create a class named TodoController. Add the following code:

[!INCLUDEcode and get todo items]

Launch the app

In VS Code, press F5 to launch the app. Navigate to http://localhost:5000/api/todo (The Todo controller we just created).

[!INCLUDElast part of web API]

Visual Studio Code help

[!INCLUDEnext steps]