Wenn Sie mit den URI- und Abfrageparametern arbeiten, sucht sie nach Zahlen, Listen und Strings, aber nicht nach Booleschen Werten. Um dies zu lösen und lassen Sie es richtig funktioniert, müssen Sie tun:
{"enabled": false.toString()}
// or
{"enabled": "false"}
und die uri Klasse wird die Abfrageparameter entsprechend eingestellt.
Die Uri-Klasse befindet sich in der Core-Bibliothek für Dart. Wenn wir es verwenden, passieren wir in der Uri erstellte Objekt in eine Aktion für eine Client-Klasse,
Client client = new BrowserClient();
, die die URL als Teil der Parameter akzeptiert.
Bei Betrachtung der oben genannten Fehler kann die Uri-Klasse einen falschen Wert jedoch nicht korrekt auf einen akzeptierten Wert analysieren.
Wenn im Kodex Docs für Uri Suche nach den Dart Sprachen: https://api.dartlang.org/dev/1.25.0-dev.7.0/dart-core/Uri/Uri.html
Die Abfragekomponente wird entweder durch Abfrage oder Query eingestellt. Wenn eine Abfrage verwendet wird, sollte die angegebene Zeichenfolge eine gültige URI-Abfrage sein, aber ungültige Zeichen außer allgemeinen Begrenzern werden bei Bedarf mit Escapezeichen versehen. Wenn queryParameters verwendet wird, wird die Abfrage aus der bereitgestellten Map erstellt. Jeder Schlüssel und Wert in der Karte wird in Prozent codiert und mit gleichen und kaufmännischen Zeichen verknüpft. Ein Wert in der Map muss entweder ein String oder ein Iterable von Strings sein, wobei letzteres mehreren Werten für denselben Schlüssel entspricht.
Es ist sinnvoll zu sagen, dass alle Werte String oder Iterable of Strings sein müssen. Das einzige, was ich nicht herausbekommen kann, ist, dass in Dartpad true und false toString-Funktionen haben, und doch kann man dort auch Zahlen eingeben.
Die einzige Schlussfolgerung ist, dass, während es Strings und Iterables von Strings akzeptiert, es auch Ints und andere Zahlen analysieren wird, weil sie explizit für diesen Typ überprüfen werden, wie es in URI zu sehen ist.
Man könnte denken, dass die URI boolesche Werte verstehen würde, da diese ebenfalls gebräuchlich sind, aber das ist noch zu sehen, da ich den Quellcode für dartlang nicht explizit betrachten kann. Ich habe es jedoch geschafft, den Quellcode dafür zu betrachten und einzugrenzen. writeComponent zeigt auf _Uri._uriEncode, aber wenn man sich diese Funktion anschaut, gibt es keinen Code so viel wie nur eine Definition.
HTH.