DEV Community 日本語
フォロー
HttpClientにおけるモダンなJSONハンドリング:手動シリアライゼーションはもうやめよう!
開発者は、JSON を使用した HTTP リクエストの処理における古く冗長な方法の使用を中止すべきです。System.Net.Http.Json を使用した .NET 5 で導入された最新のアプローチは、このプロセスを大幅に簡素化する拡張メソッドを提供します。JSON データの送信には、PostAsJsonAsync、PutAsJsonAsync、PatchAsJsonAsync などのメソッドが利用可能です。JSON レスポンスの読み取りは ReadFromJsonAsync で効率化され、GET リクエストは GetFromJsonAsync を使用して 1 行で処理することも可能です。これらのメソッドは、シリアライゼーション、エンコーディング、コンテンツタイプを自動的に処理し、定型コードを削減します。リクエストのタイムアウト管理のために、キャンセル トークンをこれらのメソッドに直接渡すことができます。カスタム JSON シリアライゼーション オプションを提供して、シリアライゼーション プロセスを調整できます。パフォーマンスの向上と Native AOT 互換性のために、ソース ジェネレーターはより高速な代替手段を提供します。エラー処理と空のレスポンスの処理も、改善された戦略で対処されます。実際の型指定されたクライアントの例は、これらの最新のメソッドを効果的に統合する方法を示しています。最終的に、System.Net.Http.Json を採用することで、コードがクリーンになり、パフォーマンスが向上し、組み込みのキャンセル サポートが得られます。