Я использую Swashbuckle 5.0 и. Net Core 3.1
Существует метод Get, который может возвращать результаты в различных форматах (JSON и XML).
Я читал, что новейшие версии Swagger должны иметь возможность анализировать этот код
[HttpGet]
[Produces("application/json", "application/xml")]
public async Task<IActionResult> Get()
{
var model = new MyModel();
return Ok(model);
}
и создавать правильные конфигурации Swagger и, наконец, иметь в пользовательском интерфейсе что-то вроде .
Но этот код почему-то не работает. Я что-то упускаю или это просто ошибка последней версии Swashbuckle, и мне нужно go с некоторыми обходными путями?
Обновление (спасибо Jawad): Моя начальная конфигурация Форматтеры выглядят так:
services.AddControllers(options =>
{
options.RespectBrowserAcceptHeader = true;
})
.AddXmlSerializerFormatters()
.AddXmlDataContractSerializerFormatters()
.AddNewtonsoftJson(opt => { opt.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; });
Я не совсем уверен, почему существуют 2 XML форматеров (возможно, некоторые проблемы слияния), но до этого момента он работал как-то.