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

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

There are 3 versions of this tutorial:


This tutorial creates the following API:

API Description Request body Response body
GET /api/todo Get all to-do items None Array of to-do items
GET /api/todo/{id} Get an item by ID None To-do item
POST /api/todo Add a new item To-do item To-do item
PUT /api/todo/{id} Update an existing item To-do item None
DELETE /api/todo/{id} Delete an item None None

The following diagram shows the basic design of the app.

  • The client is whatever consumes the web API (mobile app, browser, etc.). This tutorial doesn't create a client. Postman or curl is used as the client to test the app.

  • A model is an object that represents the data in the app. In this case, the only model is a to-do item. Models are represented as C# classes, also known as Plain Old C# Object (POCOs).

  • A controller is an object that handles HTTP requests and creates the HTTP response. This app has a single controller.

  • To keep the tutorial simple, the app doesn't use a persistent database. The sample app stores to-do items in an in-memory database.

 Click here for the full explanation with Web API Example.