.net Core 6 Swagger Example

5 min read Jun 03, 2024
.net Core 6 Swagger Example

Un exemple d'intégration de Swagger dans ASP.NET Core 6

Introduction

Swagger est un outil précieux pour la documentation et la découverte d'API RESTful. Il permet de générer une interface interactive pour vos API, facilitant ainsi leur utilisation et leur compréhension par les développeurs. Dans ce tutoriel, nous allons explorer comment intégrer Swagger dans une application ASP.NET Core 6.

Configuration de Swagger

  1. Installation des packages NuGet: Commencez par installer les packages NuGet nécessaires dans votre projet ASP.NET Core 6:

    Install-Package Swashbuckle.AspNetCore
    
  2. Configuration du service Swagger: Dans le fichier Startup.cs (ou Program.cs dans les versions plus récentes), configurez le service Swagger en ajoutant les lignes suivantes dans la méthode ConfigureServices :

    services.AddSwaggerGen(c => 
    {
        c.SwaggerDoc("v1", new OpenApiInfo 
        { 
            Title = "Mon API ASP.NET Core", 
            Version = "v1" 
        });
    });
    

    Ceci configure Swagger pour documenter votre API sous le nom "v1".

  3. Configuration du middleware Swagger: Dans la méthode Configure, ajoutez le middleware Swagger pour exposer l'interface utilisateur de Swagger:

    app.UseSwagger();
    app.UseSwaggerUI(c => 
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "Mon API ASP.NET Core v1");
    });
    

    Cette configuration rend l'interface Swagger disponible à l'adresse /swagger/v1/swagger.json.

Création d'une API de démonstration

Pour illustrer l'utilisation de Swagger, créons une simple API avec une méthode GET pour récupérer une liste de produits:

[ApiController]
[Route("[controller]")]
public class ProductsController : ControllerBase
{
    [HttpGet]
    public IEnumerable Get()
    {
        return new[]
        {
            new Product { Id = 1, Name = "Produit 1" },
            new Product { Id = 2, Name = "Produit 2" }
        };
    }
}

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
}

Documentation de l'API avec Swagger

Swagger va automatiquement générer la documentation de votre API à partir des attributs et des conventions utilisés. Vous pouvez enrichir la documentation en utilisant des attributs supplémentaires:

[HttpGet]
[ProducesResponseType(typeof(IEnumerable), StatusCodes.OK)]
[ProducesResponseType(StatusCodes.BadRequest)]
public IEnumerable Get()
{
    // ...
}

Ces attributs indiquent à Swagger que la méthode Get retourne une liste de produits (avec le type IEnumerable<Product>) si l'opération est réussie (code 200), et renvoie un code d'erreur 400 en cas d'échec.

Utilisation de Swagger

Après avoir lancé votre application ASP.NET Core, vous pouvez accéder à l'interface utilisateur de Swagger à l'adresse http://localhost:5000/swagger/index.html (l'adresse peut varier selon votre configuration). Vous trouverez la documentation interactive de votre API, incluant la description des endpoints, des paramètres, des types de données retournés, et des codes de réponse.

Conclusion

Swagger est un outil puissant pour la documentation et la découverte d'API RESTful. En l'intégrant à votre application ASP.NET Core 6, vous pouvez facilement créer une documentation interactive et accessible pour vos API. Cette documentation améliore la collaboration entre les développeurs, facilite le test et la maintenance des API, et contribue à une meilleure compréhension de votre code.

Related Post