Web APIでHttpclientを使用して応答OKでオブジェクトを取得する方法 質問する

Web APIでHttpclientを使用して応答OKでオブジェクトを取得する方法 質問する

私のウェブAPIは

    public async Task<IHttpActionResult> RegisterUser(User user)
    {
        //User Implementation here

        return Ok(user);
    }

以下のように、HTTPClient を使用して Web API をリクエストしています。

var client = new HttpClient();
string json = JsonConvert.SerializeObject(model);
var result = await client.PostAsync( "api/users", new StringContent(json, Encoding.UTF8, "application/json"));

クライアント アプリケーションに実装されている結果リクエスト内のユーザー オブジェクトはどこにありますか?

ベストアンサー1

必要に応じて使用し、ユーザー オブジェクトに逆シリアル化することができます。

await result.Content.ReadAsByteArrayAsync();
//or
await result.Content.ReadAsStreamAsync();
//or
await result.Content.ReadAsStringAsync();

Fe、Web APIがJSONを返す場合は、

var user = JsonConvert.DeserializeObject<User>( await result.Content.ReadAsStringAsync());

編集: cordan が指摘したように、以下への参照を追加しSystem.Net.Http.Formattingて使用することもできます:

await result.Content.ReadAsAsync<User>()

おすすめ記事