web-dev-qa-db-ja.com

ASP.NET5でRESTfulAPIを呼び出す方法

Visual StudioCodeでMac上のASP.NET5を操作する。呼び出す必要のあるRESTfulAPIがありますが、その方法が正確にわかりません。 WebClient、HttpClient、WebRequest、およびHttpWebRequestを使用した多くの例を見てきました。

私の悩みの種はdnxcore50フレームワークだと思います。誰かがいくつかのコードサンプルで私を正しい方向に向けることができますか?

9

これは、サービスを呼び出す方法の例です。 Referencesusingを注意深く確認してください。

あなたがしなければならない1つの重要なことはWeb APIクライアントライブラリパッケージをインストールすることです:[ツール]メニューから、NuGetを選択しますパッケージマネージャー、次にパッケージマネージャーコンソールを選択します。パッケージマネージャーコンソールウィンドウで、次のコマンドを入力します。Install-Package Microsoft.AspNet.WebApi.Client

完全なソースコードについては、これを確認してください link

Call service

8
Triet Doan

これを行うには、NuGetフィードを使用しています https://api.nuget.org/v3/index.json

私のproject.jsonには現在、これらの関連する依存関係があり、「dnxcore50」フレームワークを使用しています。

"Microsoft.AspNet.WebApi.Client": "5.2.3",
"System.Net.Http": "4.0.0",
"System.Runtime.Serialization.Xml": "4.0.10"

次に、HttpClientを使用しています。現在(beta7)は、 https://github.com/dotnet/corefx/issues/2155 のため、LinuxまたはOSXでは機能しません。

3
opiethehokie

ASP .NET 5より前に行っていた方法と同じだと思います。最初にASP .NET WebAPIクライアントライブラリをインストールしますNuGetパッケージ。

利用可能な場合は、System.Net.Http:を参照します

using System.Net.Http;

次に、次のように使用します。

using (var httpClient = new HttpClient())
{
    var response1 = await httpClient.GetAsync(url1);
    var response2 = await httpClient.PostAsync(url2);
    var response3 = await httpClient.SendAsync(url3);
}

それはあなたに応答を与えるだけです。通常、特にGETリクエストの場合は、コンテンツを調べる必要があります。これは次の方法で実行できます。

var content = await response1.Content.ReadAsStringAsync();

これは単にコンテンツ内の文字列を提供するだけなので、JSONの場合は、JSON.NET(Newtonsoft.Json)などを使用して構造化クラスに逆シリアル化することをお勧めします。

これはメモリからのものなので、あちこちで少し調整する必要があるかもしれません。

3
Gigi