使用ASP.NET Core 2.2,ASP.Net Boilerplate版本4.1,Modul零核心版本4.4.0。
该API接受JSON对象作为输入,并返回JSON对象。我面临的任务是确保将XML与JSON结合使用的可能性。
我这样尝试过:
// file RootNs.Web.Mvc Startup.cs
public IServiceProvider ConfigureServices(IServiceCollection services) {
// ...
services.AddMvc(options => {
options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
options.ReturnHttpNotAcceptable = true;
options.OutputFormatters.RemoveType<HttpNoContentOutputFormatter>();
options.RespectBrowserAcceptHeader = true;
options.OutputFormatters.Add(new XmlSerializerOutputFormatter());
// so also tried
// options.OutputFormatters.Add(new XmlDataContractSerializerOutputFormatter());
options.FormatterMappings
.SetMediaTypeMappingForFormat("xml", MediaTypeHeaderValue.Parse("application/xml"));
})
}
然后,我用FormatFilter属性装饰了API中的方法。但这没有帮助。
如何添加对XML输出格式化程序的支持?应该在哪个项目(* .Web.Mvc或* .Web.Host)中编辑文件Startup.cs?