別の ASP.Net Web API から WEBAPI を使用して応答をデータベースに格納する方法を知りたいです。javascript、コンソール アプリケーションなどのクライアントから WEBAPI を使用する方法を知っています。
ただし、要件は、WEBAPI によってサードパーティ API からデータを取得し、その結果をデータベースに保存して、WEBAPI を使用してクライアントがデータを要求するようにすることです。
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 ヘッダーを使用して、リクエストが 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
ここでパターンの使用を検討する必要があります。