[英]Editing media type in Swagger with Swashbuckle
我正在嘗試在 ASP .NET Core 中創建一個簡單的 POC 應用程序。 目標是將端點的示例值和媒體類型編輯為自定義值,例如 CSV。 我只是使用基本的天氣預報模板應用程序來嘗試一下,代碼如下所示:
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
private readonly ILogger<WeatherForecastController> _logger;
public WeatherForecastController(ILogger<WeatherForecastController> logger)
{
_logger = logger;
}
[HttpGet("weather")]
[Produces("text/csv")]
[SwaggerResponseExample(200, typeof(ForecastExample))]
public IEnumerable<WeatherForecast> Get()
{
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
})
.ToArray();
}
}
我改變的事情是:
我在 Program.cs 中注冊了 ExamplesOperationFilter,如下所示:
builder.Services.AddSwaggerExamples();
應該定義響應的 ForecastExample class 如下所示:
public class ForecastExample : IExamplesProvider<string>
{
public string GetExamples()
{
return "test";
}
}
使用此代碼,我希望看到 Swagger 中的示例值只是說“測試”,但它看起來像這樣:
我一直在按照這里描述的步驟https://freesoft.dev/program/89951254但我想我錯過了一些重要的東西。 提前感謝您的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.