Apollo-link-rest: 🐛 La requête renvoie une erreur lorsque la valeur du paramètre est fausse (0, fausse, nulle, indéfinie)

Créé le 26 févr. 2018  ·  4Commentaires  ·  Source: apollographql/apollo-link-rest

J'obtiens l'erreur suivante lors de la transmission d'une 0 sur une variable.
Erreur : Erreur réseau : paramètres manquants pour exécuter la requête, spécifiez-le dans les paramètres de la requête ou utilisez une directive d'exportation

Si à la place j'utilise une chaîne, cela fonctionne.

J'ai débogué le code et trouvé le problème dans la fonction replaceParam qui vérifie !value où (je suppose 😃) devrait vérifier null / undefined valeurs.

var replaceParam = function (endpoint, name, value) {
    if (!value || !name) {
        return endpoint;
    }
    return endpoint.replace(":" + name, value);
};

je vais envoyer un RP

bug 🐛

Tous les 4 commentaires

Bonne prise, la méthode dactylographiée pour cela est

if (value != null || name != null)

J'ai hâte de fusionner vos relations publiques ! :)

Veuillez ajouter un test unitaire afin que nous puissions détecter toute régression future.

Il est clair pour moi que 0 et false représentent des valeurs réelles et undefined une null .
Qu'en penses-tu @fbartho ?

@gaguirre Désolé j'ai raté ta réponse ! J'ai envoyé votre code tel quel. Je pense que nous devrions probablement prendre en charge la transmission de null et laisser une couche différente s'en occuper.

Avez-vous vu la fonction pathBuilder ? C'est le code fourni par l'utilisateur qui pourrait se soucier de la distinction entre undefined et null , ou qui pourrait en fait utiliser null utilement.

Pensez-vous que nous devrions ouvrir un nouveau ticket pour suivre cette affaire ?

@fbartho pas de problème ! Je suis d'accord que null est un cas valide et j'en ai tenu compte dans le PR.
La seule chose qui manquait était les cas de test pour le cas undefined , mais le comportement que je pense est correct : lancera une erreur _Paramètre manquant_. 👍

Cette page vous a été utile?
0 / 5 - 0 notes