По умолчанию для сериализации XML в ядре asp.net - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь создать Web-Api на основе ядра asp.net.Мое требование заключается в том, что он должен поддерживать сериализацию xml по умолчанию, а не json.
Я добавил

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
                .AddXmlSerializerFormatters();

Но, тем не менее, сериализатором по умолчанию является json.
Мне нужно еговозврат xml без указания клиентом

{"Accept":"application/xml"}

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

Для смены сериализатора по умолчанию, вы можете попробовать

public void ConfigureServices(IServiceCollection services)
{

    services.AddMvc(options => {
        options.OutputFormatters.Insert(0, new XmlDataContractSerializerOutputFormatter());
    }).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
0 голосов
/ 28 марта 2019

Как сказано здесь , вы должны заставить свое приложение генерировать XML вместо JSON:

services.AddMvc(opt =>
{
    opt.Filters.Add(new ProducesAttribute("application/xml"));
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
    .AddXmlSerializerFormatters();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...