Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment récupérer les données que retourne mon API

Comment récupérer les données que retourne mon API dans xamarin

Sujet résolu
    20 mars 2021 à 10:53:36

    Bonjour à tous,

    Avant de commencer, j'espère que je suis au bon endroit pour poser ma question qui concerne Xamarin.Forms.

    Je suis en train de développer une application mobile personnel qui est tout simplement une petite bibliothèque. Pour ajouter des livres dans ma base de donnée, je passe par une API, jusque-là, tout vas bien.

    Mon souci concerne la valeur de retour, quand je fais un POST, mon livre est bien inséré dans la base de donnée, mais mon API retourne un id (RETURNING "Id") et je n'arrive pas à récupérer cette valeur dans mon code. Pouvez-vous m'aider à résoudre mon problème ?

    Mon Post coté serveur :

    .post(async function (req,res) {
        client.connect();
        try{
            var book = req.body;
            var data = await client.query(`INSERT INTO "Book" ("Name", "BookTypeId") VALUES ('${book.name}', ${book.typeid}  RETURNING "Id" `);
             res.send(data.rows);
         } catch(Exception) {
             console.log(Exception);
             res.sendStatus(400);
         }
     })
    

    Et mon code dans Xamarin :

    public async Task<bool> AddBookAsync(Book item)
    {
            try
            {
                var json = JsonConvert.SerializeObject(item);
                var client = new HttpClient();
                var content = new StringContent(json, Encoding.UTF8, "application/json");
                var res = await client.PostAsync(".../api/book", content);
                return true;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return false;
            }
        }
    

    Je ne sais pas dans quelle variable je pourrais trouver l'id ... Je pense que c'est quelque par dans res.Header, mais après je bloque.

    Merci d'avance.

    -
    Edité par 41292 20 mars 2021 à 12:14:01

    • Partager sur Facebook
    • Partager sur Twitter
      20 mars 2021 à 13:05:04

      C'est peut-être indiqué dans la documentation de l'API.

      Moi, je m'embêterai pas trop, un coup de WireShark (sniffer réseau) ou de Fiddler (reverse proxy HTTP) et je regarde où dans la réponse est retourné l'information.

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        20 mars 2021 à 13:42:51

        bacelar

        Côté API, j'arrive à récupérer l'information, mon souci vient plus du Xamarin.

        J'ai regardé dans la doc de Microsoft, mais je n'ai rien trouvé.

        -
        Edité par 41292 20 mars 2021 à 13:43:25

        • Partager sur Facebook
        • Partager sur Twitter
          21 mars 2021 à 20:24:11

          Ok, mais il est retourné comment votre "id" ???
          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

          Comment récupérer les données que retourne mon API

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown