From 1114032a115994df1176683db8ceca652a945940 Mon Sep 17 00:00:00 2001 From: gwen Date: Thu, 29 Feb 2024 18:31:31 +0100 Subject: [PATCH] utiliser hateoas --- .../components/admin/VoirScientifiques.vue | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/science-quest/src/components/admin/VoirScientifiques.vue b/science-quest/src/components/admin/VoirScientifiques.vue index 44200bd..1f5989a 100644 --- a/science-quest/src/components/admin/VoirScientifiques.vue +++ b/science-quest/src/components/admin/VoirScientifiques.vue @@ -9,23 +9,37 @@ export default{ //données obtenues par l'api scientifiques: [], page:0, + self:"", + //HATEOAS + last:null, // a prendre a partir de la requete + prev:null, + next:null, + last:null, }; }, mounted(){ //TODO faire route pour prendre la page a partir de l'URL - this.getScientifiques(this.page) + this.self=`${REST_API}/scientifiques?page=${this.page}` + this.getScientifiques(this.self) }, methods:{ - getScientifiques(page){ + getScientifiques(url){ //enlever les anciens du tableau this.scientifiques.splice(0) //TODO : ajouter un delai si jamais la requete est trop rapide pour VueJS //appeler l'API - fetch(`${REST_API}/scientifiques?page=${page}`).then(response=>{ + fetch(url).then(response=>{ response.json().then(json=>{ const oldLength=this.scientifiques.length - //prendre le scientifique de la requete + //prendre les scientifiques de la requete this.scientifiques.push(...json._embedded) + + //HATEOAS + this.self=json._links.self.href; + this.last=json._links.last ? json._links.last.href : null; + this.prev=json._links.prev ? json._links.prev.href : null; + this.next=json._links.next ? json._links.next.href : null; + this.last=json._links.last ? json._links.last.href : null; }) }) } @@ -55,6 +69,8 @@ export default{ > - - + + + + \ No newline at end of file