Ticker

6/recent/ticker-posts

Consume Web API using HttpClient in ASP .NET MVC (C#)

Consume Web API using HttpClient in ASP .NET MVC (C#)

Introduction In this documentation, we will explore how to consume a Web API using the HttpClient class in an ASP.NET MVC application. HttpClient is a powerful class in the .NET framework that enables developers to interact with Web APIs and retrieve data.

Prerequisites Before proceeding with the steps below, ensure that you have the following prerequisites in place:

  • Visual Studio installed on your machine.
  • Basic knowledge of ASP.NET MVC and C# programming.

Step 1: Create an ASP.NET MVC Project Start by creating a new ASP.NET MVC project in Visual Studio. Follow these steps:

  1. Open Visual Studio.
  2. Click on "Create a new project."
  3. Select "ASP.NET Web Application" and click "Next."
  4. Provide a project name, choose the desired location, and click "Create."
  5. Select "MVC" as the project template and click "Create."

Step 2: Add HttpClient to the Project Once the project is created, follow these steps to add the HttpClient package to your project:

  1. Right-click on the project in the Solution Explorer and select "Manage NuGet Packages."
  2. In the NuGet Package Manager, search for "System.Net.Http" and click "Install" to add the HttpClient package to your project.

Step 3: Create a Controller Next, we need to create a controller to handle the API requests. Follow these steps:

  1. Right-click on the "Controllers" folder in the Solution Explorer and select "Add" > "Controller."
  2. Choose "MVC 5 Controller - Empty" and click "Add."
  3. Provide a name for the controller (e.g., "ApiController") and click "Add."

Step 4: Write Code to Consume the Web API In the newly created controller, you can write code to consume the Web API using HttpClient. Here's an example:

csharp
using System.Net.Http; public class ApiController : Controller { public async Task<ActionResult> Index() { using (HttpClient client = new HttpClient()) { // Set the base address of the Web API client.BaseAddress = new Uri("https://api.example.com"); // Send an HTTP GET request HttpResponseMessage response = await client.GetAsync("api/products"); if (response.IsSuccessStatusCode) { // Deserialize the response content var products = await response.Content.ReadAsAsync<IEnumerable<Product>>(); // Process the retrieved data return View(products); } else { // Handle the error response return View("Error"); } } } }

In the above code:

  • We create an instance of HttpClient.
  • Set the base address of the Web API using BaseAddress.
  • Send an HTTP GET request to the desired API endpoint using GetAsync.
  • Check if the response is successful using IsSuccessStatusCode.
  • Deserialize the response content using ReadAsAsync.
  • Process the retrieved data and return the view.

Step 5: Configure Routes and Views Configure the routing and create views to display the retrieved data. This step involves creating appropriate routes in the RouteConfig.cs file and designing views to render the data.

Step 6: Test the Application Build and run the application to test the code. Ensure that the Web API is running and accessible.

Conclusion In this documentation, we learned how to consume a Web API using HttpClient in an ASP.NET MVC application. The HttpClient class provides a convenient way to interact with Web APIs and retrieve data, making it easier to integrate external services into your application.

Post a Comment

0 Comments