Bonjour,

Je commence React, en complément de Spring de Spring boot.

J'ai une application Spring boot, normalement elle fonctionne.
je souhaite appeler un service de mon application Spring.

L'application Spring fonctionne.
J'obtiens bien une réponse du service depuis le navigateur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
[{"code":"AC","libelle":"Journal des achats"},{"code":"AN","libelle":"Journal des a nouveaux"},{"code":"BQ","libelle":"Journal de banque"},{"code":"CAI","libelle":"Journal de caisse"},{"code":"OD","libelle":"Journal des opérations diverses"},{"code":"VE","libelle":"Journal des ventes"}]
J'ai créé une application React.

J'ai écrit la fonction suivante pour appeler le service dans l'application React.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const baseUrl = 'http://localhost:8080/journal/';
 
export function getJournaux() {
  console.log(" Appel du service getAll de journal");
 
  fetch(baseUrl + '/getAll').then(function(response) {
    return response.text();
  }).then(function(texte) {
    const journaux = JSON.parse(texte);
 
    console.log(journaux.length + " objets journal trouvés");
 
    return JSON.parse(texte);
  }).then(function(texte) {}).catch(() => {
    console.log('Erreur de récupération des journaux');
  });
}
Les messages sont biens loggés avec le nombres d'items attendus.

Dans mon "app", j'ai créé mon state dans le constructeur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
constructor(props) {
       super(props)
 
          this.state = {
            journaux : []
}
Ensuite j'appelle le service à l'initialisation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
     componentDidMount() {
            const jjournaux = getJournaux();
 
            this.setState({
               journaux: jjournaux
            });
Ensuite j'appelle mon composant dans le render
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
<TableJournaux journaux={this.state.journaux} />

MAis dans le navigateur, le composant reçoit un tableau vide.

Est(ce que c'est une erreur de formatage de mon tableau en JSON ?
Ou une erreur d'affectation ?


Cordialement