Consultation de l’API avec JS : fetch, await, async

Il nous reste à consulter cette API en JS. Nous pouvons utiliser jQuery, des composants Web ou plus directement :

  • fetch

  • await

  • async :

Interrogation de l’API auteurs

Voici quelques méthodes JS pour dialoguer avec cette API.

//liste tous les auteurs de la base
async function getAuteurs(){
    let rep = await fetch('http://localhost:8000//books/api/v1.0/auteur', { method: 'GET' });
    let reponse = await rep.json();
    return reponse;
}

//donne les détails d'un auteur par son id
async function auteurById(id){
    let rep = await fetch('http://localhost:8000/books/api/v1.0/auteur/'+id, { method: 'GET' });
    let reponse = await rep.json();
    return reponse;
}


//supprime un auteur grâce à son id
async function auteurSupprime(id){
    let rep = await fetch('http://localhost:8000/books/api/v1.0/auteur/',
     { method: 'DELETE', body: JSON.stringify({ "id": id })
    });
    let reponse = await rep.json();
    return reponse;
}

Interrogation de l’API livres

// liste tous les livres
async function getLivres(){
    let rep = await fetch('http://localhost:8000/books/api/v1.0/livres/', { method: 'GET' });
    let reponse = await rep.json();
    return reponse;
}

//donne les détails d'un livre par id
async function livreById(id){
    let rep = await fetch('http://localhost:8000/books/api/v1.0/livres/'+id, { method: 'GET' });
    let reponse = await rep.json();
    return reponse;
}


//supprime un livre grâce à son id
async function livreSupprime(id){
    let rep = await fetch('http://localhost:8000/books/api/v1.0/livre',
     { method: 'DELETE', body: JSON.stringify({ "id": id })
    });
    let reponse = await rep.json();
    return reponse;
}

Il vous reste à compléter les méthodes POST et PUT pour ces 2 entités et à intégrer ce code dans un joli composant Front.

Table des matières

Sujet précédent

API Livres/Auteurs

Sujet suivant

Authentification élémentaire en Symfony