Apollo-link-rest: 🐛パラメータ値が偽(0、false、null、未定義)の場合、クエリはエラーをスローします

作成日 2018年02月26日  ·  4コメント  ·  ソース: apollographql/apollo-link-rest

変数に0値を渡すと、次のエラーが表示されます。
エラー:ネットワークエラー:クエリを実行するためのパラメータがありません。クエリパラメータで指定するか、エクスポートディレクティブを使用してください

代わりに文字列を使用すると機能します。

コードをデバッグしたところ、 !valueチェックしているreplaceParam関数で問題が見つかりました。ここで、(おそらく😃)はnull / undefinedチェックする必要があります。

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

PRさせていただきます

bug 🐛

全てのコメント4件

良いキャッチ、これのためのタイプスクリプトの方法は

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

あなたのPRを統合することを楽しみにしています! :)

将来の回帰を検出できるように、単体テストを追加してください。

0falseが実際の値を表し、 undefinedが欠落していること0明らかですが、 null値についてはよくわかりません。
@fbartho どう思いますか?

@gaguirre申し訳ありませんが、返信を逃しました。 コードをそのまま発送しました。 nullを渡して、別のレイヤーに処理させることをサポートする必要があると思います。

pathBuilder関数を見たことがありますか。 これは、 undefinednullの違いを気にする、または実際にnull便利に使用できるユーザー提供のコードです。

そのケースを追跡するために新しいチケットを開く必要があると思いますか?

@fbartho問題ありません! nullが有効なケースであることに同意し、PRでそれを検討しました。
唯一欠けているのはundefinedケースのテストケースでしたが、私が思う動作は正しいと思います。_Missingparameter_エラーがスローされます。 👍

このページは役に立ちましたか?
0 / 5 - 0 評価