Estoy usando la API de Swagger para documentar mis servicios REST. Anteriormente, mi método de controlador no tenía los comentarios informativos, por lo que la API de Swagger no mostraba la descripción, pero ahora, incluso después de actualizar los comentarios, no obtengo la descripción del método en el área resaltada.
/// <summary> /// Gets the consumer scores by retailer id and return id /// </summary> /// <param name="retailerId"></param> /// <param name="returnId"></param> /// <returns></returns>¿Me estoy perdiendo algo?
Para que Swashbuckle lea sus comentarios XML, deberá habilitar el archivo de documentación XML para su proyecto de destino. Además de eso, deberá apuntar a Swashbuckle a ese archivo en su configuración de inicio.
De la documentación de Swashbuckle :
Abra el cuadro de diálogo Propiedades para su proyecto, haga clic en la pestaña "Crear" y asegúrese de que esté marcado "Archivo de documentación XML". Esto producirá un archivo que contiene todos los comentarios XML en tiempo de compilación.
En este punto, cualquier clase o método que NO esté anotado con comentarios XML activará una advertencia de compilación. Para suprimir esto, ingrese el código de advertencia "1591" en el campo "Suprimir advertencias" en el cuadro de diálogo de propiedades.*
Configure Swashbuckle para incorporar los comentarios XML en el archivo en el Swagger JSON generado:
services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "My API - V1", Version = "v1" } ); var filePath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "MyApi.xml"); c.IncludeXmlComments(filePath); }Anote sus acciones con resumen, comentarios y etiquetas de respuesta
/// <summary> /// Retrieves a specific product by unique id /// </summary> /// <remarks>Awesomeness!</remarks> /// <response code="200">Product created</response> /// <response code="400">Product has missing/invalid values</response> /// <response code="500">Oops! Can't create your product right now</response> [HttpGet("{id}")] [ProducesResponseType(typeof(Product), 200)] [ProducesResponseType(typeof(IDictionary<string, string>), 400)] [ProducesResponseType(typeof(void), 500)] public Product GetById(int id)Reconstruya su proyecto para actualizar el archivo de comentarios XML y navegue hasta el punto final de Swagger JSON. Observe cómo las descripciones se asignan a los campos Swagger correspondientes.