How to consume a webApi from asp.net Web API to store result in database?

Web Technologies Web Development 3 years ago

6.63K 1 0 0 0

_x000D_ _x000D_ I'm wondering how to consume a WEBAPI from another ASP.Net Web API to store the response in a database. I know how to consume a WEBAPI from clients like javascript,console application etc. But the requirement is to pull the data from third party API by my WEBAPI & store the result in a database so that using my WEBAPI my clients request me for data. Is it possible to do this with an Asp.Net Web API?

User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.

Answers (1)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 3 years ago
_x000D_ In this tutorial is explained how to consume a web api with C#, in this example a console application is used, but you can also use another web api to consume of course. http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client You should have a look at the HttpClient HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://localhost/yourwebapi"); Make sure your requests ask for the response in JSON using the Accept header like this: client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); Now comes the part that differs from the tutorial, make sure you have the same objects as the other WEB API, if not, then you have to map the objects to your own objects. ASP.NET will convert the JSON you receive to the object you want it to be. HttpResponseMessage response = client.GetAsync("api/yourcustomobjects").Result; if (response.IsSuccessStatusCode) { var yourcustomobjects = response.Content.ReadAsAsync>().Result; foreach (var x in yourcustomobjects) { //Call your store method and pass in your own object SaveCustomObjectToDB(x); } } else { //Something has gone wrong, handle it here } please note that I use .Result for the case of the example. You should consider using the async await pattern here.
0 views
0 shares

No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Similar Forum


Q

Unity hosting a custom piece of code on own website [on hold]

_x000D_ _x000D_ I was wondering how would you be able to host an "API" on your own website that you...
Q

I am needing advice on a web bot [on hold]

_x000D_ _x000D_ I want to code a bot that has a GUI or CLI doesn't really matter yet but a GUI would...
Q

date and time picker, that can take a max and min absolute time, compatible with react [on hold]

_x000D_ _x000D_ I have an issue with scheduling things in a web platform (react.js), and need a date...

Important Web Technologies Links