Comment envoyer une demande d'obtention avec le corps à Dart?
J'ai essayé toutes les recettes ( Ce et que et plus ) mais sans succès. p> Ceci est complexe JSON et j'ai eu une erreur lors de l'envoi de demande:
final URI = URI.HTTP ('44 .44.444.444: 8080 ',' Get-Réponse ', QueryParameters); Code> P> EXCEPTION: TYPE' _INTERNALLINKEDHASHMAP
4 Réponses :
Je pense que votre QueryParameterers code> ne doit pas contenir d'objets. final queryParameters = {
"id": "6767676767676",
"device": "tatatata",
"login" : "login",
"password" : "password",
};
c'est due à un contrat. Je ne peux pas supprimer l'objet des paramètres.
Avez-vous essayé:
var response = await get(url); var fetchedData = json.decode(response.body);
La réponse sa réellement ce que le flutter a suggéré em> dans la présente partie du message d'exception code>: '_ _ internallinkedhashmap Cela signifie que, l'une de vos variable em> est Vous devez faire une de vos touches dans en importation Ce code final ressemble ci-dessous: P>
Qu'est-ce que cela signifie? H2>
'_ _ internallinkedhashmap 'carte QueryParameters Code> à ceci 'Carte Comment? H2>
1. Importation dart convert h3>
dart: convert code>, nous aurons jsonencode code> méthode p> 2. Convertir la valeur imbriquée, en chaîne h3>
3. Remettez-le à vos paramètres principaux h3>
code final h2>
import 'dart:convert'; // put this at top of your file
final nestedValue = {
"login": "login",
"password": "pwd",
};
String stringValue = jsonEncode(nestedValue); // add this
final queryParameters = {
"id": "6767676767676",
"device": "tatatata",
"user": stringValue
};
final uri = Uri.http('44.44.444.444:8080', 'get-answer', queryParameters);
Nope (((((maintenant les paramètres réussis, mais j'ai eu une erreur: Body de réponse: {... "Statut": 400, "Erreur": "Mauvaise demande", "Message": "Le corps de la demande requis est manquant: < / Code> Comme je peux réaliser QueryParameterers code> n'est pas vraiment corps code>.
Bien sûr, son problème différent. Je pense que vous utilisez le point final JSON à droite?, C'est différent de votre utilisation maintenant. Vous feriez mieux d'utiliser le package dio. Mais si vous constatez que votre problème précédent est maintenant résolu, une exception: tapez '_internallinkedhashmap
Thanx, vous avez raison, votre conseil a vraiment aidé la carte <...>. J'ai essayé Dio aussi, cela n'a pas aidé à résoudre le problème de mon "get avec le corps". Va creuser des sources))
Oh je vois, auparavant, j'ai eu cette question. J'ai dû mettre une application / JSON de type de contenu sur l'en-tête. et mettre {} sur le corps
Je vous conseille d'utiliser le package http Il est parfait pour effectuer des demandes HTTP.
Avant d'envoyer des données, assurez-vous de vous encoder en mode JSON au format JSON à l'aide de la fonction jsonencode code> et pour obtenir les données à partir d'un obtenir code> Demande Décodez le corps de la demande du format JSON en utilisant le format JSON en utilisant Fonction JSondecode.
dart: convertir code> package li>
ul>