我想将应用程序服务的响应内容类型从application/json
更改为application/xml
。我遇到的一种解决方案是this,但没有说明如何配置和使用Xml Formatter。谁能解释一下如何为此包(即Microsoft.AspNetCore.Mvc.Formatters.Xml
)配置ABP。简单安装此软件包并使用startup.cs
配置services.AddMvc().AddXmlSerializerFormatters()
文件是行不通的。我认为必须配置ApplicationCoreModule。顺便说一句,我的应用程序服务正在返回对象列表。
这是我在Swagger中执行API时结果的图像:
答案 0 :(得分:0)
尝试使用this suggested solution配置模块:
Configuration.Modules.AbpWebApi().HttpConfiguration.Formatters.Add(new XmlMediaTypeFormatter()
{
UseXmlSerializer = true;
});
TL; DR(关于下面的原始答案):
使用ASP.NET Core创建Web服务时,不不使用ASP.NET Boilerplate时,以下信息会有所帮助。我不熟悉这项技术,也没有意识到您正在使用它。
如果在RespectBrowserAcceptHeader = true
文件中添加Startup.cs
MVC服务选项,它应该会按预期工作(默认情况下为false)。
services.AddMvc(options =>
{
options.RespectBrowserAcceptHeader = true;
})
.AddXmlSerializerFormatters();
该选项的目的是使用客户端(see this source)指定的格式进行响应。
AddMvc
中间件时,JSON是默认格式,因此如果curl中没有指定规范,则响应将为JSON。请求)