如何将XML输出格式器添加到ASP.Net Boilerplate?

时间:2019-02-27 11:50:22

标签: c# asp.net-core asp.net-core-mvc aspnetboilerplate

使用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?

0 个答案:

没有答案