132

正常に動作している Web リクエストがありますが、ステータス OK を返すだけですが、返すように要求しているオブジェクトが必要です。要求している json 値を取得する方法がわかりません。オブジェクト HttpClient を初めて使用します。見逃しているプロパティはありますか? 返されるオブジェクトが本当に必要です。助けてくれてありがとう

Making the call - runs fine ステータス OK を返します。

HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept
  .Add(new MediaTypeWithQualityHeaderValue("application/json"));
var responseMsg = client.GetAsync(string.Format("http://localhost:5057/api/Photo")).Result;

API get メソッド

//Cut out alot of code but you get the idea
public string Get()
{
    return JsonConvert.SerializeObject(returnedPhoto);
}
4

7 に答える 7

211

.NET 4.5 で System.Net.HttpClient を参照している場合、HttpResponseMessage.ContentプロパティをHttpContent派生オブジェクトとして使用して、GetAsync によって返されるコンテンツを取得できます。次に、 HttpContent.ReadAsStringAsyncメソッドを使用してコンテンツを文字列に読み取るか、 ReadAsStreamAsyncメソッドを使用してストリームとして読み取ることができます。

HttpClientクラスのドキュメントには、次の例が含まれています。

  HttpClient client = new HttpClient();
  HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
  response.EnsureSuccessStatusCode();
  string responseBody = await response.Content.ReadAsStringAsync();
于 2012-06-07T09:06:04.213 に答える
2

1つに答えるのと同様に、私が通常行うこと:

var response = await httpClient.GetAsync(completeURL); // http://192.168.0.1:915/api/Controller/Object

if (response.IsSuccessStatusCode == true)
    {
        string res = await response.Content.ReadAsStringAsync();
        var content = Json.Deserialize<Model>(res);

// do whatever you need with the JSON which is in 'content'
// ex: int id = content.Id;

        Navigate();
        return true;
    }
    else
    {
        await JSRuntime.Current.InvokeAsync<string>("alert", "Warning, the credentials you have entered are incorrect.");
        return false;
    }

「モデル」は C# モデル クラスです。

于 2019-02-19T10:10:20.437 に答える