このAPIをasync awaitスタイルを使用して呼び出しようとしましたが、いくつか問題があります。私は私のアプリのコンソールで上記のメソッドを呼び出していますasync awaitパターンを使用してAPIからJSON結果を返そうとしています
public async Task<User> GetUser(int userId)
{
User user = null;
HttpResponseMessage response = await client.GetAsync("/user/...");
if(response.IsSuccessStatusCode)
{
var result = await response.Content.ReadAsStringAsync();
user = JsonConvert.DeserializeObject<User>(result);
}
return user;
}
:
var user = apiClient.GetUser(123);
Console.WriteLine($"user result is {user.Result.UserId}");
私はエラーを取得する:
An unhandled exception of type 'System.NullReferenceException Object reference not set to an instance..
は、ベストプラクティス、次の私のコードスニペットです何か問題はありますか?
Postmanを使用してテストすると、エンドポイントが正常に動作します。
更新
私GetUserメソッドのためのインタフェースは次のとおりです。
Task<User> GetUser(int userId);
であるかを把握するのは難しいのですか?それはどの変数がnullであるかを理解するのに役立ちます – KernelMode
これは私のConsole.WriteLine行にあります... –
@VladStryapko私は自分のインタフェースシグネチャも追加しました。私はその行に待つ必要があります。 await演算子は非同期メソッドでしか使用できません.... '' ' –