Я пробую Swagger в проекте ASP.NET Core WebApi, и все работает нормально, кроме описаний контроллеров.
Например, у меня есть UredskoPoslovanjeController, а описание в Swagger UI - UredskoPoslovanje, и я не могу найти способ изменить его.
В списке есть только найденное мной решение здесь Однако я думаю, что это противоречит версиям API, поскольку управление версиями использует точно такой же атрибут [ApiExplorerSettings(GroupName="v2")]
Вот файл swagger.jsonдля этой части: UredskoPoslovanje часть в swagger.json
И мой контроллер определен так:
/// <summary>
/// Uredsko poslovanje API
/// </summary>
[Authorize]
[Route("api/[controller]")]
public class UredskoPoslovanjeController : Controller
{
private LinkDbContext ctx;
public UredskoPoslovanjeController(LinkDbContext ctx)
{
this.ctx = ctx;
}
/// <summary>
/// Vraća broj pismena za zadani OIB
/// </summary>
/// <param name="OIB">OIB korisnika za koji se traži broj pismena</param>
/// <returns>Vraća broj pronađenih pismena</returns>
/// <response code="200">Vraća broj pismena za traženi OIB</response>
/// <response code="400">OIB ne postoji</response>
/// <response code="401">Nemate pristup metodi (neispravna autorizacija)</response>
[HttpGet("BrojPismena/{oib}")]
public ActionResult<BrojPismenaModel> DajBrojPismena(string OIB)
{
if (string.IsNullOrWhiteSpace(OIB)) return BadRequest("OIB ne smije biti prazan");
else
{
var osoba = ctx.Osoba.FirstOrDefault(x => x.Oib == OIB);
if (osoba == null) return BadRequest($"Osoba s OIB-om '{OIB}' ne postoji!");
else
{
return Ok(new BrojPismenaModel() { OIB = OIB, BrojPismena = ctx.UpPismeno.Count() });
}
}
}
}
Я бы ожидал "Uredsko poslovanje API" в качестве описания контроллера, но этого не происходит - swagger ui screenshot
Есть идеи, как правильно настроить описание контроллера?
Спасибо, Марио