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 ?
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?
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();}