Consume Web API 2 in C# Console Application

Web API can be consumed either using JQuery, Angular JS, MVC or Console Application. In this blog, we will consume Web API 2 using HttpClient in a Console Application.
 I have already created a Web API2 demo project earlier, you may visit below link to see how can we create a Web API 2 project.

Web API2 CRUD operation using Entity Framework

Once you are ready with Web API 2, now add a new console project in your solution.

Consume Web API in C# Console Application

Add Microsoft.AspNet.WebApi.Client package using nuget package manager.

Consume Web API in C# Console Application


Add a class ProductModel in your project.


    public class ProductModel
    {
        public int id { get; set; }
        public string product { get; set; }
        public Nullable<decimal> cost { get; set; }
        public Nullable<int> stock { get; set; }
    }

Let's create CRUD operation.
First create object of HttpClient.


public static HttpClient webClient = new HttpClient();
        static void Main(string[] args)
        {
            Program program = new Program();
            program.ShowRecords();
        }


Operation - Read all records


private void ShowRecords()
        {
            IEnumerable<ProductModel> products;
            HttpResponseMessage webResponse = webClient.GetAsync("http://localhost:90/api/ProductMasters").Result;
            products = webResponse.Content.ReadAsAsync<IEnumerable<ProductModel>>().Result;

            foreach (ProductModel productModel in products)
            {
                Console.WriteLine(productModel.id + "----" + productModel.product + "----" + productModel.cost + "----" + productModel.stock);
            }
        }



Make sure to set the console application as startup project.






Output screen



Operation - Create a new record.


private void CreateRecord()
        {
            ProductModel productModel = new ProductModel();
            productModel.product = "Panasonic Washing Machine";
            productModel.cost = 16000.00m;
            productModel.stock = 5;
            HttpResponseMessage httpResponseMessage = webClient.PostAsJsonAsync("http://localhost:90/api/ProductMasters", productModel).Result;
        }


Operation - Edit a record


private void EditRecord()
        {
            ProductModel productModel = new ProductModel();
            productModel.id = 12;
            productModel.product = "Panasonic Automatic Washing Machine";
            productModel.cost = 20500.00m;
            productModel.stock = 25;
            HttpResponseMessage httpResponseMessage = webClient.PutAsJsonAsync("http://localhost:90/api/ProductMasters/" + productModel.id, productModel).Result;
        }

Output screen


Operation - Delete a record


private void DeleteRecord()
        {
            Console.WriteLine("Enter id to delete---");
            int id = Convert.ToInt32(Console.ReadLine());
            HttpResponseMessage httpResponse = webClient.DeleteAsync("http://localhost:90/api/ProductMasters/" + id).Result;
        }


You may see the demonstration in the video as well - 


Hope you like this blog. Please comment below in case you have some feedback. Share this blog on social media.

You may like other blogs -

LINQ with an MVC Project
Interview Questions and Answers Series
Web API2 CRUD operations using Entity Framework and MVC

Comments

Popular

What is Web API? When should we use in our projects?