Web API with ASP.NET Core using MVC
Creating a web API with ASP.NET Core using the MVC (Model-View-Controller) pattern entails creating controllers to handle HTTP requests, models to represent data, and routes for the API. A step-by-step guide to creating an MVC web API with ASP.NET Core is provided below.
Step 1 Install the Necessary Software
Check that your machine has the.NET SDK installed.
Step 2 Create a New ASP.NET Core MVC Web API Project
Run the following commands in a terminal or command prompt
dotnet new mvc -n MyMvcWebApi
cd MyMvcWebApi
This will create a new ASP.NET Core MVC project called MyMvcWebApi and navigate to its directory.
Step 3 Explore the Project Structure
Launch your preferred IDE and open the project. Controllers, Models, and Views are among the folders in the project structure.
Controllers In this section, you will define your API controllers.
Models To represent your data, you can create model classes.
Views Although views are not required for an API, this folder is included in the standard MVC structure.
Step 4 Create a Model
To represent your data, create a model class. Create a file called Item.cs in the Models folder, for example
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
}
Step 5 Establish a Controller
Add a new file to the Controllers folder, such as ItemsController.cs, to create a controller
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
namespace MyMvcWebApi.Controllers
{
[Route(api[controller])]
[ApiController]
public class ItemsController ControllerBase
{
private static ListItem _items = new ListItem
{
new Item { Id = 1, Name = Item 1 },
new Item { Id = 2, Name = Item 2 },
new Item { Id = 3, Name = Item 3 }
};
GET apiitems
[HttpGet]
public ActionResultIEnumerableItem Get()
{
return _items;
}
GET apiitems1
[HttpGet({id})]
public ActionResultItem Get(int id)
{
var item = _items.Find(i = i.Id == id);
if (item == null)
return NotFound();
return item;
}
POST apiitems
[HttpPost]
public ActionResultItem Post([FromBody] Item newItem)
{
newItem.Id = _items.Count + 1;
_items.Add(newItem);
return CreatedAtAction(nameof(Get), new { id = newItem.Id }, newItem);
}
PUT apiitems1
[HttpPut({id})]
public IActionResult Put(int id, [FromBody] Item updatedItem)
{
var existingItem = _items.Find(i = i.Id == id);
if (existingItem == null)
return NotFound();
existingItem.Name = updatedItem.Name;
return NoContent();
}
DELETE apiitems1
[HttpDelete({id})]
public IActionResult Delete(int id)
{
var itemToRemove = _items.Find(i = i.Id == id);
if (itemToRemove == null)
return NotFound();
_items.Remove(itemToRemove);
return NoContent();
}
}
}
Step 6 Run the Program
Enter the following command at the command prompt or terminal
dotnet run
The URL for your API will be http://localhost:5000 or https://localhost:5001
. Open an API testing tool such as Postman:
GET Request: To retrieve items, open https://localhost:5001/api/items
.
POST Request: To add a new item, submit a POST request with a JSON body to https://localhost:5001/api/items
.
PUT Request: To update an item, submit a PUT request with a JSON body to https://localhost:5001/api/items/1
.
DELETE Request: To delete an item, send a DELETE request to https://localhost:5001/api/items/1
.
Step 7 Explore and Extend
To improve your web API, investigate additional ASP.NET Core MVC features like middleware, authentication, dependency injection, and model binding. Depending on the needs of your application, you can handle various HTTP methods, define more models, and add more controllers.
Social tagging: asp dotnet core > MVC with web apiRecent Posts
Categories
- All
- Angularjs training in Chennai
- ASP.NET Core
- dot net training
- dot net training in chennai
- dotnet full stack developer
- Free dotnet training
- information on dotnet
- Learn Java in chennai
- Learn Python at Karaikudi
- learn python online
- learn python online from chennai
- Linq Queries in .net
- mutual funds
- MVC Training Tutorials
- PHP Training in Chennai
- pmp training online
- power apps online training
- Python Training Online
- share market
- Sharepoint framework online training
- SharePoint Freelancers in Chennai
- software testing
- spfx online training
- Stock market
- Uncategorized