ASP.NET Core 7 Web API发送XML遭遇415不支持媒体类型错误
ASP.NET Core 7 Web API接收XML报415错误的解决方法
核心问题分析与解决步骤
1. 启用XML序列化支持
ASP.NET Core 7默认仅启用JSON格式化器,未配置XML序列化支持,这是触发415错误的核心原因之一。需要在Program.cs中添加XML格式化器配置:
builder.Services.AddControllers() .AddXmlSerializerFormatters();
若需自定义XML序列化行为,可使用更精细的配置:
builder.Services.AddControllers(options => { // 添加XML输入格式化器,用于解析请求中的XML数据 options.InputFormatters.Add(new XmlSerializerInputFormatter(options)); // 若接口需要返回XML格式响应,添加XML输出格式化器 options.OutputFormatters.Add(new XmlSerializerOutputFormatter()); });
2. 修正XML标签大小写不匹配
XML是大小写敏感的,你发送的XML内容中结束标签大小写与模型定义不一致:
- 模型通过
[XmlElement("FirstName")]定义的标签应为<FirstName>,但你发送的结束标签是</firstName>(小写结尾) - 同理
LastName的结束标签应为</LastName>而非</lastName>
修正后的正确XML请求内容:
<Person Id="1"> <FirstName>John</FirstName> <LastName>Doe</LastName> </Person>
3. 确认请求头配置
确保Postman的请求头中Content-Type准确设置为application/xml,避免拼写错误(如误写为application/xml;或其他格式)。
内容的提问来源于stack exchange,提问作者WojtStckOvfl
相关产品推荐
相关产品推荐

