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

如何在HTTP请求中指定预期响应内容类型?附.NET场景示例

实现返回XML格式.NET Dataset的HTTP请求方案

我需要让客户端获取以XML格式呈现的.NET Dataset类型数据,但当前API默认返回JSON格式的List<Gifts>数据。以下是基于Asp.NET Web API(客户端)和Asp.NET Core Web API(服务端)的具体实现:

客户端代码实现

通过HttpClient发送请求时,添加两个关键请求头:

  • Accept: application/xml:告知服务端客户端期望接收XML格式的响应
  • MyExpected-Content-Type: Dataset:通过自定义头标识客户端需要Dataset类型的数据
var myHttpClient = new HttpClient();
myHttpClient.DefaultRequestHeaders.Add("Accept", "application/xml");
myHttpClient.DefaultRequestHeaders.Add("MyExpected-Content-Type", "Dataset");
var response = await myHttpClient.GetAsync(apiUrl);

服务端代码实现

服务端通过检查自定义请求头MyExpected-Content-Type来切换响应格式:

  • 当头值为Dataset时,生成DataSet并返回其XML字符串
  • 否则返回默认的List<Gifts>集合(默认会序列化为JSON)
if (Request.Headers["MyExpected-Content-Type"] == "Dataset")
{
    DataSet ds = new DataSet();
    // 此处添加DataSet数据填充逻辑
    return Ok(ds.GetXml());
}
else
{
    var lst = new List<Gifts>();
    // 此处添加List<Gifts>数据填充逻辑
    return Ok(lst);
}

内容的提问来源于stack exchange,提问作者Mahmoud Amini Arjmand

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 03:45:27