Как изменить тип содержимого ответа по умолчанию в ASP. NET Core API? - PullRequest
0 голосов
/ 24 января 2020

Я заново внедряю устаревший API как ASP.NET Core web API. Я реализовал согласование содержимого , и оно работает нормально - все действия поддерживают форматы ответов JSON и XML, основанные на Accept header в запросе. Моя проблема заключается в том, что исходный API по умолчанию XML, если не был указан заголовок Accept, а мой ASP. NET Core API по умолчанию JSON. Как сделать тип содержимого ответа по умолчанию XML при отсутствии заголовка Accept?

1 Ответ

0 голосов
/ 27 января 2020

Вы можете настроить его в Startup

public void ConfigureServices(IServiceCollection services)
    {

        services.AddMvc(options => {
            options.OutputFormatters.Insert(0, new XmlDataContractSerializerOutputFormatter());
        }).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
    }

или просто использовать атрибут Produces в вашем контроллере.

[Produces("application/xml")]
public class MyController()
{
 ...
}
...