6 de diciembre de 2018

Swagger en Web Api



en el proyecto Web Api descargar desde NuGet la librería Swashbuckle 


una vez la librería se instale en tu solución se habrá creado la clase SwaggerConfig.cs en el folder App_Start


El código del SwaggerConfig.cs debe ser:

using System.Web.Http;
using WebActivatorEx;
using WebApi2MVC;
using Swashbuckle.Application;

[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]

namespace WebApi2MVC
{
 public class SwaggerConfig
 {
  public static void Register()
  {
   var thisAssembly = typeof(SwaggerConfig).Assembly;

   GlobalConfiguration.Configuration
   .EnableSwagger(c =>
   {
   c.SingleApiVersion("v1", "Ejemplo de Swagger");
   c.IncludeXmlComments(string.Format(@"{0}\bin\WebApi2MVC.XML", System.AppDomain.CurrentDomain.BaseDirectory));
   })
   .EnableSwaggerUi(c =>
   {
   });
  }
 }
}
ahora click derecho en el proyecto para acceder a las propidades y en la pestaña Build habilitar el XML documentation file y dejar la dirección que especifica por defecto


solo falta comentar el código en los controller del Web Api, por ejemplo


y al ejecutar la aplicación se debe especificar el uso de Swagger, en mi caso lo especifico asi: http://localhost:55987/swagger/ui/index


la vista del verbo GET que obtiene todos los empleados