c# - 如何使用来自 asp.net Web API 的 webApi 将结果存储在数据库中?

标签 c# asp.net asp.net-web-api

我想知道如何使用来自另一个 ASP.Net Web API 的 WEBAPI 来将响应存储在数据库中。 我知道如何从 javascript、控制台应用程序等客户端使用 WEBAPI。

但要求是通过我的 WEBAPI 从第三方 API 提取数据并将结果存储在数据库中,以便使用我的 WEBAPI 我的客户向我请求数据。

是否可以使用 Asp.Net Web API 执行此操作?

最佳答案

本教程解释了如何使用 C# 使用 web api,在此示例中使用控制台应用程序,但您也可以使用另一个 web api 来使用当然。

http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client

你应该看看HttpClient

HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost/yourwebapi");

确保您的请求使用 Accept header 以 JSON 格式请求响应,如下所示:

client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));

现在是与教程不同的部分,请确保您拥有与其他 WEB API 相同的对象,如果没有,则必须将对象映射到您自己的对象。 ASP.NET 会将您收到的 JSON 转换为您想要的对象。

HttpResponseMessage response = client.GetAsync("api/yourcustomobjects").Result;
if (response.IsSuccessStatusCode)
{
    var yourcustomobjects = response.Content.ReadAsAsync<IEnumerable<YourCustomObject>>().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
}

请注意,我使用 .Result 作为示例。您应该考虑在此处使用 async await 模式。

关于c# - 如何使用来自 asp.net Web API 的 webApi 将结果存储在数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19448690/

相关文章:

c# join string 逗号分隔,但双引号里面的所有值

jquery - 如何在 javaquery 中将弹出窗口和图像绑定(bind)在一起?

c# - 在 VS2008 ASP.NET 项目中使用嵌入式文件

asp.net-web-api - ASP.net Web API RESTful Web服务+基本身份验证

asp.net-web-api - 使用ASP.NET MVC 6 WebAPI从Auth0获取用户信息

c# - 将 ASP.net Identity 2.0 连接到现有数据库

c# - Xamarin.Forms 中选项卡式页面的标题截断

c# - 依赖定义

javascript - 正在验证 MVC 隐藏字段

asp.net - 在 ASP.NET MVC Web API 服务和 MVC 客户端架构中实现身份验证和基于角色的授权