• 8 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 27/09/2021

Comment créer une application web avec Spring Boot ?

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Compétences évaluées

  • créer une application web avec Spring Boot

Description

Pour l’évaluation de cette partie 4, nous allons nous mettre en situation.

L’agence spatiale européenne (ESA) souhaite mettre à disposition du public une nouvelle interface web pour informer sur le déroulement des missions en cours.

En tant que nouveau développeur au sein de l’équipe des développeurs de l’ESA, on vous charge d’implémenter cette application web.

Boris, votre team leader, requiert pour commencer un PoC (proof of concept) de l’application web, qui correspond à une page web où la liste des astronautes en mission est affichée.

La liste des astronautes en mission est disponible via une API à l’adresse :

Un appel à cette URL renverra le fichier JSON suivant :

[
{
"id": 1,
"firstName": "François",
"lastName": "MARTIN"
},
{
"id": 2,
"firstName": "Aurelio",
"lastName": "DI BELLO"
},
{
"id": 3,
"firstName": "Victor",
"lastName": "RATOWSKI"
}
]

Bien évidemment, l’application web est à implémenter avec Spring Boot !

  • Question 1

    Quels starters Spring Boot choisissez-vous?

    • Spring Web et Spring Data JPA.

    • Spring Web et Thymeleaf.

    • Cloud Bootstrap, Spring Web et H2 Database.

  • Question 2

    Comment faire pour que le code connaisse l’URL de l’API à consommer ? 

    • Il faut écrire l’URL dans la couche ‘Repository’ qui contiendra les requêtes à l’API je vais écrire

    • Il n’y a rien à faire, c’est l’autoconfiguration de Spring Boot qui fait tout

    • Il faut ajouter une propriété personnalisée dans le fichier application.properties, et je créerai une classe annotée @ConfigurationProperties

    • Il faut ajouter une propriété personnalisée dans le fichier application.properties, et l’autoconfiguration de Spring Boot fera le reste

  • Question 3

    Quel code écrivez-vous pour récupérer les données de l’API ? 

    • public Iterable<Astronaute> getAstronautes() {
      String baseApiUrl = props.getApiUrl();
      String getAstronautesURL = baseApiUrl + "/astronautes";
      RestTemplate restTemplate = new RestTemplate();
      ResponseEntity<Iterable<Astronaute>> response = restTemplate.exchange(
      getAstronautesURL,
      HttpMethod.GET,
      null,
      new ParameterizedTypeReference<Iterable<Astronaute>>() {}
      );
      return response.getBody();
      }
    • public Astronaute getAstronautes() {
      String baseApiUrl = props.getApiUrl();
      String getAstronautesURL = baseApiUrl + "/astronaute";
      RestTemplate restTemplate = new RestTemplate();
      ResponseEntity<Astronaute> response = restTemplate.exchange(
      getAstronautesURL,
      HttpMethod.GET,
      null,
      Astronaute.class
      );
      return response.getBody();
      }
    • public Iterable<Astronaute> getAstronautes() {
      String baseApiUrl = props.getApiUrl();
      String getAstronautesURL = baseApiUrl + "/astronautes"
      RestTemplate restTemplate = new RestTemplate();
      ResponseEntity<Iterable<Astronaute>> response = restTemplate.exchange(
      getAstronautesURL,
      HttpMethod.POST,
      null,
      new ParameterizedTypeReference<Iterable<Astronaute>>() {}
      );
      return response.getBody();
      }
    • public Astronaute getAstronautes() {
      String baseApiUrl = props.getApiUrl();
      String getAstronautesURL = baseApiUrl + "/astronaute";
      RestTemplate restTemplate = new RestTemplate();
      ResponseEntity<Astronaute> response = restTemplate.exchange(
      getAstronautesURL,
      HttpMethod.POST,
      null,
      Astronaute.class
      );
      return response.getBody();
      }