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

配置API返回XML失败:修改Accept Header及代码后仍返回JSON

问题排查与解决

首先检查你的Accept请求头格式:HTTP协议中Accept头需要使用标准的MIME类型,而非简写的"XML"。正确的XML媒体类型应为application/xml或text/xml。你当前设置的"XML"不符合HTTP规范,ASP.NET Core无法识别该格式,因此会默认返回JSON。

其次,确认代码配置的细节:

  • AddXmlDataContractSerializerFormatters()是通过DataContractSerializer处理XML序列化,若你的模型是普通POCO类(未标记[DataContract]/[DataMember]属性),建议改用AddXmlSerializerFormatters(),后者更适配常规无标记的模型。
  • options.ReturnHttpNotAcceptable = true的作用是当请求的Accept类型不被支持时返回406 Not Acceptable,而非降级到默认格式。但由于你当前的Accept头是无效值,框架仍会走默认的JSON输出逻辑。

修正步骤:

  1. 将请求的Accept头修改为application/xml或text/xml。
  2. 若模型无DataContract标记,把代码中的AddXmlDataContractSerializerFormatters()替换为AddXmlSerializerFormatters()。

调整后API即可正常返回XML格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:04:57