xml - ASP.NET Core 2.2,XML 输入格式化程序
问题描述
我正在使用 asp.net core 2.2 并尝试允许 XML 的附加内容类型值。所以我这样配置Startup.cs
。
services.AddMvc(options =>
{
options.ReturnHttpNotAcceptable = true;
options.OutputFormatters.Add(new XmlDataContractSerializerOutputFormatter());
options.InputFormatters.Add(new XmlSerializerInputFormatter(options));
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
事实上,我最终获得415 Unsupported Media Type
了邮递员的地位。有没有人成功添加 XML 内容类型值?
作者控制器.cs:
[HttpPost]
public ActionResult CreateAuthor([FromBody] AuthorForCreationDto author)
{
...
}
解决方案
您需要设置RespectBrowserAcceptHeader
为 true 以允许内容协商。
// Add XML Content Negotiation
config.RespectBrowserAcceptHeader = true;
services.AddMvc(options => {
//Enable this to allow content negotiation.
options.RespectBrowserAcceptHeader = true;
options.ReturnHttpNotAcceptable = true;
options.OutputFormatters.Add(new XmlDataContractSerializerOutputFormatter());
options.InputFormatters.Add(new XmlSerializerInputFormatter(options));
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
推荐阅读
- python - 姜戈。models.py 中的哈希密码
- python - 如何使用 python selenium 在 facebook 中点击页面
- android - 如何以编程方式在android中使用电话号码打开电报帐户(使用意图)
- java - 如何将 mongoDB 的输出转换为 java 对象(使用对象工厂)
- database - 如何使用 VBScript 和 UFT 连接到 oracle 数据库?
- python - 从 AbstractUser 继承后,Django admin 不能再更改用户的权限
- java - 连接 azkaban 时出现 MySql 错误“无法创建 PoolableConnectionFactory(无法创建与数据库服务器的连接。)”?
- c - sqlite3_bind_blob() 和 sqlite3_bind_blob64() 有什么区别?
- javascript - 获取下一个数组的对象属性名称
- spartacus-storefront - 调用 CartEntryConnector 的“更新”方法后获取有效负载