Как определить описания контроллеров в ASP.NET Core Swagger (Swashbuckle.AspNetCore)? - PullRequest
0 голосов
/ 24 мая 2018

Я пробую 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

Есть идеи, как правильно настроить описание контроллера?

Спасибо, Марио

1 Ответ

0 голосов
/ 24 мая 2018

Согласно документации, вы можете комментировать действия и модели контроллера с помощью комментариев XML.Не сам контроллер.

https://github.com/domaindrivendev/Swashbuckle.AspNetCore#include-descriptions-from-xml-comments

...