Configuration du module API

Le du module API contient la ou les interfaces du composant serveur, ainsi que les types des paramètres des opérations de ces interfaces, c’est à dire, des objets de transfert ou DTO.

1. Création des paquets

Commencez par ajouter les paquet suivants au module :

  1. fr.nantes.universite.quizmaker.common.dto

  2. fr.nantes.universite.quizmaker.common.id

  3. fr.nantes.universite.quizmaker.common.service

Les objets de transfert seront déclarés à l’intérieur du paquet dto, les interfaces des identifiants seront déclarées dans le paquet id et les interfaces des services à l’intérieur du paquet service.

📁 quizmaker-backend/
 ├── 📁 quizmaker-api/
 │   ├─── 📁 src/main/java/fr/nantes/universite/quizmaker/common/dto/
 │   │    └── ...                # Objets de transfert
 │   ├─── 📁 src/main/java/fr/nantes/universite/quizmaker/common/id/
 │   │    └── ...                # Interfaces des identifiants
 │   ├─── 📁 src/main/java/fr/nantes/universite/quizmaker/common/service/
 │   │    └── ...                # Interfaces des services
 │   └── pom.xml
 └── pom.xml
  1. Dans IntelliJ, sélectionnez sur le dossier source (quizamaker-api/src/main/java) et ensuite utilisez le menu pour créer un paquet : File  New  Package et saisissez les identifiants des paquets, par exemple : fr.nantes.universite.quizmaker.common.dto

Alternative
  1. Si vous préférez la ligne de commande, vous pouvez créer les dossiers correspondant au paquet :

    À l’intérieur du projet parent
    mkdir -p quizmaker-api/src/main/java/fr/nantes/universite/quizmaker/common/dto/
    mkdir -p quizmaker-api/src/main/java/fr/nantes/universite/quizmaker/common/id/
    mkdir -p quizmaker-api/src/main/java/fr/nantes/universite/quizmaker/common/service/

2. Un premier objet de transfert

Maintenant, déclarez à l’intérieur du paquet dto une classe jouant le rôle de "objet de transfert" appelée User. Cet classe représente les informations échangées entre le backend et le frontend :

  • un identifiant (id)

  • une adresse email (email)

  • un nom (name)

  • un prénom (firstname)

  • un rôle (role), qui peut être STUDENT ou TEACHER.

Le type du champ id doit être Long`et des autres champs, `String.

Utilisez des record Java pour implémenter les objets de transfert. La syntaxe des _enregistrements* est très simple. En voici un example :

L’enregistrement Courier
public record Courier(String envoyeur, String destinataire, String objet, String role) {
}
  1. Dans IntelliJ, sélectionnez sur le paquet dto (fr.nantes.universite.quizmaker.common.dto) et ensuite utilisez le menu pour créer un enregistrement  : File  New  Java Class, saisissez le nom de l’enregistrement et choisissez le type Record.

3. Un premier identifiant