Встроенные комментарии XML не включаются в сгенерированный swagger.json.

Созданный файл swagger.json не содержит встроенных XML-комментариев для методов, которые я переопределил. Для всех других методов встроенные комментарии включаются в сгенерированный swagger.json. XML-файл включает все комментарии, так что файл кажется правильным. Все маршруты работают как надо.

Почему не все комментарии XML включены в сгенерированный swagger.json?

    PetsApi.cs
    public abstract class PetsApiController : Controller
    { 

    /// <summary>
    /// Create a pet. 27th of Sept
    /// </summary>

    /// <response code="201">Null response</response>
    /// <response code="0">unexpected error</response>
    [HttpPost]
    [Route("/v1/pets")]
    [SwaggerOperation("CreatePets")]
    public virtual void CreatePets()
    { 
        throw new NotImplementedException();
    }


    /// <summary>
    /// List all pets. 27th of Sept
    /// </summary>

    /// <param name="limit">How many items to return at one time (max 100)</param>
    /// <response code="200">An paged array of pets</response>
    /// <response code="0">unexpected error</response>
    [HttpGet]
    [Route("/v1/pets")]
    [SwaggerOperation("ListPets")]
    [SwaggerResponse(200, type: typeof(Pets))]
    public virtual IActionResult ListPets([FromQuery]int? limit)
    { 
        string exampleJson = null;

И затем я переопределяю CreatePets следующим образом:

    public class TestOfPets : Controllers.PetsApiController
{
    public override void CreatePets()
    {
        int testing;

Результат в интерфейсе Swagger будет таким: Swagger UI

Как видите, у операции POST нет комментариев, почему?

XML-файл включает их, хотя XML-файл


person user8677334    schedule 27.09.2017    source источник
comment
Разместите свою конфигурацию Swagger на StartUp.cs. Вы должны фактически сказать Swagger, чтобы он использовал XML-файл, чего вы, вероятно, не делаете.   -  person Chris Pratt    schedule 27.09.2017
comment
Комментарии в вашем случае поступают от TestOfPets.CreatePets, а не от родителя, проверьте сгенерированный файл XML, чтобы подтвердить   -  person Helder Sepulveda    schedule 28.09.2017


Ответы (1)


StartUp.cs включает следующую конфигурацию:

            var basePath = PlatformServices.Default.Application.ApplicationBasePath;
            var xmlPath = Path.Combine(basePath, "controllapi.xml");
            myData.IncludeXmlComments(xmlPath)

Controllapi.xml не содержит ничего, связанного с TestOfPets. Он включает только PetsApiController.CreatePets.

person user8677334    schedule 28.09.2017