Partager via


Démarrage rapide : Utiliser le générateur d’API de données avec SQL

Dans ce guide de démarrage rapide, vous créez un ensemble de fichiers de configuration du générateur d’API de données pour cibler une base de données SQL locale.

Conditions préalables

  • Docker
  • .NET 8
  • Un client de gestion des données
    • Si aucun client n’est installé, installez SQL Server Management Studio.

Conseil / Astuce

Vous pouvez également ouvrir ce guide de démarrage rapide dans GitHub Codespaces avec tous les prérequis pour les développeurs déjà installés. Apportez votre propre abonnement Azure. Les comptes GitHub incluent un droit d’utilisation relatif au stockage et aux heures cœur gratuites. Pour plus d’informations, consultez Stockage et heures cœur inclus pour les comptes GitHub.

Ouvrir dans un GitHub Codespaces

Installer l’interface CLI du générateur d’API de données

Installez le Microsoft.DataApiBuilder package à partir de NuGet en tant qu’outil .NET.

  1. Utilisez dotnet tool install pour installer la dernière version de Microsoft.DataApiBuilder avec l'argument --global.

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Remarque

    Si le paquet est déjà installé, mettez à jour le paquet à l'aide de dotnet tool update.

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Vérifiez que l'outil est installé avec dotnet tool list en utilisant l'argument --global.

    dotnet tool list --global
    

Configurer la base de données locale

Commencez par configurer et exécuter la base de données locale pour définir les informations d’identification appropriées. Ensuite, vous pouvez remplir la base de données avec des données d'exemple.

  1. Obtenez la dernière version de l’image de conteneur mcr.microsoft.com/mssql/server:2022-latest depuis Docker Hub.

    docker pull mcr.microsoft.com/mssql/server:2022-latest
    
  2. Démarrez le conteneur Docker en définissant le mot de passe, en acceptant le contrat de licence utilisateur final (CLUF) et en publiant le port 1433. Remplacez par <your-password> un mot de passe personnalisé.

    docker run \
        --env "ACCEPT_EULA=Y" \
        --env "MSSQL_SA_PASSWORD=<your-password>" \
        --publish 1433:1433 \
        --detach \
        mcr.microsoft.com/mssql/server:2022-latest
    
  3. Connectez-vous à votre base de données locale à l’aide de votre environnement de gestion des données préféré. Les exemples incluent, mais ne sont pas limités à : SQL Server Management Studio et l’extension SQL Server pour Visual Studio Code.

    Conseil / Astuce

    Si vous utilisez la mise en réseau par défaut pour vos images conteneur Docker Linux, la chaîne de connexion est susceptible d’être Server=localhost,1433;User Id=sa;Password=<your-password>;TrustServerCertificate=True;Encrypt=True;. Remplacez <your-password> par le mot de passe que vous avez défini précédemment.

  4. Créez une bookshelf base de données et utilisez la base de données pour vos requêtes restantes.

    DROP DATABASE IF EXISTS bookshelf;
    GO
    
    CREATE DATABASE bookshelf;
    GO
    
    USE bookshelf;
    GO
    
  5. Créez une nouvelle dbo.authors table et remplissez la table avec des données de base.

    DROP TABLE IF EXISTS dbo.authors;
    GO
    
    CREATE TABLE dbo.authors
    (
        id int not null primary key,
        first_name nvarchar(100) not null,
        middle_name nvarchar(100) null,
        last_name nvarchar(100) not null
    )
    GO
    
    INSERT INTO dbo.authors VALUES
        (01, 'Henry', null, 'Ross'),
        (02, 'Jacob', 'A.', 'Hancock'),
        (03, 'Sydney', null, 'Mattos'),
        (04, 'Jordan', null, 'Mitchell'),
        (05, 'Victoria', null, 'Burke'),
        (06, 'Vance', null, 'DeLeon'),
        (07, 'Reed', null, 'Flores'),
        (08, 'Felix', null, 'Henderson'),
        (09, 'Avery', null, 'Howard'),
        (10, 'Violet', null, 'Martinez')
    GO
    

Créer les fichiers de configuration

Créez un fichier de configuration de référence à l’aide de l’interface CLI DAB. Ensuite, ajoutez un fichier de configuration de développement avec vos informations d’identification actuelles.

  1. Créez un fichier de configuration classique à l’aide de dab init. Ajoutez l’argument --connection-string avec votre chaîne de connexion de base de données à partir de la première section. Remplacez <your-password> par le mot de passe que vous définissez précédemment dans ce guide. Ajoutez également la Database=bookshelf valeur à la chaîne de connexion.

    dab init --database-type "mssql" --host-mode "Development" --connection-string "Server=localhost,1433;User Id=sa;Database=bookshelf;Password=<your-password>;TrustServerCertificate=True;Encrypt=True;"
    
  2. Ajoutez une entité Author à l’aide dab addde .

    dab add Author --source "dbo.authors" --permissions "anonymous:*"
    

Tester l’API avec la base de données locale

À présent, démarrez l’outil Générateur d’API de données pour vérifier que vos fichiers de configuration sont fusionnés pendant le développement.

  1. Permet dab start d’exécuter l’outil et de créer des points de terminaison d’API pour votre entité.

    dab start
    
  2. La sortie de l’outil doit inclure l’adresse à utiliser pour accéder à l’API en cours d’exécution.

          Successfully completed runtime initialization.
    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: <http://localhost:5000>
    info: Microsoft.Hosting.Lifetime[0]
    

    Conseil / Astuce

    Dans cet exemple, l’application s’exécute sur localhost le port 5000. Votre application en cours d’exécution peut avoir une adresse et un port différents.

  3. Tout d’abord, essayez l’API manuellement en émettant une requête GET à /api/Author.

    Conseil / Astuce

    Dans cet exemple, l’URL serait https://localhost:5000/api/Author. Vous pouvez accéder à cette URL à l’aide de votre navigateur web.

  4. Ensuite, accédez à la page de documentation Swagger à l’adresse /swagger.

    Conseil / Astuce

    Dans cet exemple, l’URL serait https://localhost:5000/swagger. Là encore, vous pouvez accéder à cette URL à l’aide de votre navigateur web.

Étape suivante