TP Web Api
Application Backend Gestion Personnel
- Créer un fork du projet
sgp-api. - Créer une application Spring Boot (sans Spring Security).
Ressource Départements
- Créer l'API Web GET /api/departements retourne la liste des départements au format JSON.
Ressource Collaborateurs
Créer les API Web suivantes :
GET /api/collaborateurs: retourne la liste des collaborateurs au format JSON.GET /api/collaborateurs?departement=[ID_DEPARTEMENT]: retourne la liste des collaborateurs au format JSON dont le département a l'identifiant ID_DEPARTEMENT.GET /api/collaborateurs/[MATRICULE]: retourne les informations d'un collaborateur.PUT /api/collaborateurs/[MATRICULE]: modifie un collaborateur (données envoyées au format JSON).GET /api/collaborateurs/[MATRICULE]/coordbanq: récupère les coordonnées bancaires d'un collaborateur (nom de la banque, iban et bic)PUT /api/collaborateurs/[MATRICULE]/coordbanq: modifie uniquement les coordonnées bancaires d'un collaborateur.
Tester via Postman que les API fonctionnent.
Déployer l'application sur Heroku
Créer une branche
production.Modifier la partie
<build>du pom.xml.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- RUBRIQUE A AJOUTER -->
<plugin>
<groupId>com.heroku.sdk</groupId>
<artifactId>heroku-maven-plugin</artifactId>
<configuration>
<processTypes>
<web>java $JAVA_OPTS -cp target/classes:target/dependency/* Main</web>
</processTypes>
</configuration>
</plugin>
</plugins>
</build>
- Ajouter la dépendance vers
PostgreSQLet supprimer les autres drivers.
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
- Modifier le fichier
application.propertiescomme suit :
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
# pour un bug de déploiement avec PostgreSQL chez Heroku
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults = false
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL9Dialect
Si vous souhaitez initialiser les données via un script SQL, vous pouvez créer un
Déployer la branche de production.
Mettre à jour la pull request avec le lien vers l'application.