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":"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.
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.
1 2 3 4 5 6
| constructor(props) {
super(props)
this.state = {
journaux : []
} |
Ensuite j'appelle le service à l'initialisation
1 2 3 4 5 6
| componentDidMount() {
const jjournaux = getJournaux();
this.setState({
journaux: jjournaux
}); |
Ensuite j'appelle mon composant dans le render
<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
Partager