HttpClient 中的现代 JSON 处理:摒弃手动序列化!
开发人员应停止使用旧有的冗长方式来处理带有 JSON 的 HTTP 请求。自 .NET 5 引入的 System.Net.Http.Json 提供了扩展方法,可显著简化此过程。发送 JSON 数据时,可使用 PostAsJsonAsync、PutAsJsonAsync 和 PatchAsJsonAsync 等方法;读取 JSON 响应则通过 ReadFromJsonAsync 实现,而 GET 请求甚至可合并为单行代码,使用 GetFromJsonAsync。这些方法会自动处理序列化、编码和 Content-Type,从而减少样板代码。取消令牌可直接传递给这些方法以管理请求超时。还可提供自定义 JSON 序列化选项以定制序列化过程。为提升性能并实现 Native AOT 兼容性,源生成器提供了更快的替代方案。错误处理及空响应的应对也通过改进的策略得到解决。一个真实的强类型客户端示例展示了如何有效集成这些现代方法。总之,采用 System.Net.Http.Json 可带来更简洁的代码、更优的性能以及内置的取消支持。