# 4.5.1 Configurar Swagger

Si aún no instalas el paquete de Swagger es hora de instalarlo.&#x20;

1. Instalar el paquete de Swagger **Swashbuckle.AspNetCore**
2. En el archivo **Startup.cs** en el método **ConfigureServices** agregamos el generador de Swagger, los parámetros son el número de versión y un título.&#x20;

{% code title="Startup.cs" %}

```csharp
using Microsoft.OpenApi.Models;
public void ConfigureServices(IServiceCollection services)
{
   services.AddControllers()
      .SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
   services.AddDbContext<CaducaContext>
      (options => options.
          UseMySql(
            Configuration.GetConnectionString("DefaultConnection")));
   //Se agrega en generador de Swagger
   services.AddSwaggerGen(c =>
   {
       c.SwaggerDoc("v1", new OpenApiInfo 
              { Title = "Api Caduca REST", Version = "v1" });
   });
}
```

{% endcode %}

3\. En el método **Configure** del mismo archivo **Startup.cs** indicamos que utilizaremos Swagger con la ruta del json de configuración.

{% code title="Startup.cs" %}

```csharp
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    //Habilitar swagger
    app.UseSwagger();

    //indica la ruta para generar la configuración de swagger
    app.UseSwaggerUI(c =>
    {
         c.SwaggerEndpoint("/swagger/v1/swagger.json", "Api Caduca REST");
    });
    app.UseMvc();
}
```

{% endcode %}

Si quieres que la ayuda corra directamente en [http://localhost:5000](http://localhost:5000/swagger/index.html) en lugar de que swagger corra en la url <http://localhost:5000/swagger/index.html> agrega la instrucción **c.RoutePrefix = string.Empty;**

```csharp
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())

    //indica la ruta para generar la configuración de swagger
    app.UseSwaggerUI(c =>
    {
         c.SwaggerEndpoint("/swagger/v1/swagger.json", "Api Caduca REST");
         c.RoutePrefix = string.Empty;
    });
}
```
