6.55HttpClientOptions 扩展配置(JSON 序列化)

创建于 2026 年 8 月 17 日约 1 分钟读完

框架通过 IHttpClientBuilder.ConfigureOptions() 扩展方法,支持为 HttpClient 自定义选项(如 JSON 序列化行为),并提供可注入服务解析的重载。示例如下:

cs
// 配置默认客户端services.AddHttpClient(string.Empty)    .ConfigureOptions(options =>    // 或使用重载:.ConfigureOptions((options, serviceProvider) =>    {        options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;    });// 配置特定客户端services.AddHttpClient("github")    .ConfigureOptions(options =>    // 或使用重载:.ConfigureOptions((options, serviceProvider) =>    {        options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;    });

通过此配置,可为不同的 HTTP 客户端实例定制 JSON 序列化行为,满足特定远程请求的需求。

HttpClientOptions 包含以下属性:

  • 属性
    • JsonSerializerOptionsJSON 序列化配置(JsonSerializerOptions 类型)。
    • JsonResponseWrapper:指定 JSON 响应反序列化包装器(JsonResponseWrapper? 类型)。
    • UseJsonResponseWrapper:是否全局启用 JSON 响应反序列化包装器(bool 类型)。
    • AccessTokenProviderAccess Token 提供器配置(IHttpAccessTokenProvider? 类型)。
    • RequestEventHandlerHTTP 事件处理程序提供器配置(IHttpRequestEventHandler? 类型)。
    • QuotaLimits:接口调用配额限制配置(Dictionary<string, HttpQuotaLimit>? 类型)。