You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 8 RestApi请求ContentType设置后变为null求助

问题解决:RestSharp中Content-Type头被置为null的问题

原因分析

在RestSharp中,当你通过AddParameter添加ParameterType.RequestBody类型的参数时,框架会自动管理Content-Type请求头。如果手动调用AddHeader设置该头,会和框架内部的处理逻辑冲突,导致手动设置的值被覆盖甚至置为null。

解决方案

方案1:移除手动添加的Content-Type头

直接保留AddParameter的媒体类型指定即可,框架会自动设置正确的Content-Type:

RestClient client = new RestClient(url);
client.Timeout = -1;
RestRequest request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer " + token);
// 移除手动添加的Content-Type头,由AddParameter自动处理
request.AddParameter("application/json", requestBody, ParameterType.RequestBody);
IRestResponse<T> response = await client.ExecuteAsync<T>(request);

方案2:使用RestSharp内置的JSON方法(推荐)

RestSharp提供了AddJsonBody方法,它会自动将对象序列化为JSON字符串,并设置正确的application/json Content-Type头,无需手动处理:

RestClient client = new RestClient(url);
client.Timeout = -1;
RestRequest request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer " + token);
// 使用AddJsonBody自动完成序列化和Content-Type设置
request.AddJsonBody(requestBody);
IRestResponse<T> response = await client.ExecuteAsync<T>(request);

内容的提问来源于stack exchange,提问作者Perturbator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 01:22:06