You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
NottarJohnny 97e1ce5be4
continuous-integration/drone/push Build is failing Details
Rectifications
5 months ago
API_SQLuedo Rectifications 5 months ago
Ressources Début de la rédaction du README pour expliquer comment tout configurer pour que l'API fonctionne 9 months ago
.drone.yml Mise à jour de '.drone.yml' 8 months ago
.gitignore Mise à jour de '.gitignore' 8 months ago
README.md Mise à jour de 'README.md' 8 months ago

README.md

API_SQLuedo

Configuration de l'API

Au niveau de la solution du projet :

  • Création des migrations

    dotnet ef migrations add MigrationName --project .\DbContextLib --context UserDbContext --startup-project .\API
  • Mise à jour de la base de données :

    dotnet ef database update --project .\DbContextLib --startup-project .\API
  • Exécuter le projet de l'API avec votre IDE

alt text


Caractéristiques de l'API

Source de données


L'API est actuellement reliée à un projet EntityFramework qui lui fournit les données dont elle a besoin. La partie EntityFramework est, elle, reliée à une base de donnée PostgreSQL mais peut très bien être reliée à un autre fournisseur de BDD en injectant un DbContextOptions configuré dans le au moment de l'instanciation du UserDbContext.


Injecter un fournisseur de BDD alternatif

    var options = new DbContextOptionsBuilder()
        .UseNpgsql()
        .Options;

    var dbContext = new UserDbContext(options);

Configuration de la base de données

Pour ce qui est de la base de données, il faut évidemment installer PostgreSQL.
La classe UserDbContext utilise par défaut PostgreSQL à partir d'un utilisateur admin qu'il faut créer au préalable. L'utilisateur admin devra posséder le droit de créer une base de données et devra disposer de tous les droits d'édition sur celle-ci.

    CREATE USER admin WITH PASSWORD "motdepasse";
    GRANT pg_read_all_data TO admin;
    GRANT pg_write_all_data TO admin;
    ALTER USER admin CREATEDB;

Dans le DbContext

Il faut également adapter la configuration de la connexion à la base de données dans le UserDbContext afin de l'adapter en fonction de la configuration que vous décidez de faire. Par défaut, si vous avez une base PostgreSQL sur la même machine que celle qui fait tourner l'API et que vous avez utilisé les commandes SQL fournies à l'identique, cela devrait fonctionner sans problème. Sinon, vous pouvez modifier le DbContext dans la méthode OnConfiguring ci-dessous :

UserDbContext.cs

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        { // Modifier la ligne ci-dessous en fonction de votre configuration
            optionsBuilder.UseNpgsql("Host=localhost;Database=SQLuedo;Username=admin;Password=motdepasse");
        }
        base.OnConfiguring(optionsBuilder);
    }

Utilisation de l'interface Swagger

Pour tester manuellement l'API, à l'exécution du projet de celle-ci, une interface Swagger s'ouvre dans votre navigateur. Etant donné que l'API est configurée pour demander une autentification à l'utilisateur, vous devrez alors créer un compte sur Swagger (qui ne sera valable que pour l'exécution en cours).

Vous pourrez alors pour cela sélectionner la rubrique Register et entrer une adresse email et un mot de passe quelconque dans l'objet Json puis appuyer sur Exécuter.

Ensuite, il vous faudra vous connecter via la rubrique Login pour laquelle vous n'aurez qu'à entrer l'email et le mot de passe précédents. Vous pouvez également activer les cookies si vous le souhaitez pour une persistance de la connexion.

Voilà, vous pouvez maintenant utilisez librement l'API !


Versionnement

Notre API est versionnée ce qui signifie qu'à chaque requête, la version souhaitée de l'API doit être fournie. Pour l'instant, il n'y a qu'une version 1.0.