Apidoc: API-Beispielanforderungen senden Parameter als leere Zeichenfolge

Erstellt am 23. Jan. 2015  ·  7Kommentare  ·  Quelle: apidoc/apidoc

Bei der Verwendung sampleUrl zum Generieren von Formularen zum Testen von API-Methoden senden Apidoc-Seiten alle Parameter der aktuell ausgewählten Parametergruppe an API-Endpunkte, selbst wenn der Benutzer keinen Wert eingegeben hat.

Wenn ich zum Beispiel eine Methode mit 3 Parametern habe, a , b und c , alles optional, und ich nur einen Wert in a fülle, Beim Klicken auf Send sendet apidoc eine Anfrage mit dem Wert, den ich für a eingegeben habe, und leeren Zeichenfolgen als Werte für b und c .

Dies ist nicht wünschenswert und bricht APIs, die keine leeren Zeichenfolgen als Werte für diese Parameter akzeptieren. Diese Beispielformulare sollten nur Parameter senden, die der Benutzer ausdrücklich angegeben hat.

todo

Hilfreichster Kommentar

Ich habe hier einen Pull Request für diese Funktion erstellt https://github.com/apidoc/apidoc/pull/647 , obwohl ich persönlich denke, dass wir neben optionalen Parametern, die eine leere Zeichenfolge angeben sollten, eine Art Kontrollkästchen einfügen sollten für Musteranfragen gesendet werden, falls Sie tatsächlich einen Leerstring senden möchten.

Alle 7 Kommentare

+1

Ich habe eine PR Nr. 193 eingereicht, die sich hoffentlich mit diesem Problem befassen wird (auch Params und Header).
Vielleicht könntest du es dir ansehen und deine Rückmeldungen geben, falls ich etwas vergessen habe.

Danke

Vinzenz

Ich glaube nicht, dass Ihre Pull-Anforderung dieses Problem behebt, da sie das Senden leerer Zeichenfolgen für optionale Parameter nicht verhindert.

Darüber hinaus ist es unmöglich, benutzerdefinierte Werte für erforderliche Felder bereitzustellen, da Sie die Werte auf den Standardwert, sofern vorhanden, überschreiben, ohne zu überprüfen, ob der Benutzer einen benutzerdefinierten Wert bereitgestellt hat.

Ich glaube auch nicht, dass apidoc einen Standardwert für einen Parameter senden sollte. IMO, wenn Sie einen API-Parameter mit einem Standardwert dokumentieren, beschreiben Sie, was der API-Aufruf für diesen Wert annehmen wird, wenn Sie keinen angeben. Der Client sollte diesen Wert nicht senden, er wird impliziert.

Tut mir leid, dass ich etwas in Ihrem Problem übersehen habe, und ich behebe Ihr Problem nicht. Das ist richtig, ich entschuldige mich...

Hallo, gibt es diesbezüglich einen Fortschritt? Ich versuche, eine PUT-Anfrage zu definieren und möchte keine Felder mit einer leeren Zeichenfolge aktualisieren. Gibt es eine Möglichkeit, Apidoc anzuweisen, nur gefüllte Parameter zu senden?

+1 Kann diesen Fix definitiv verwenden.

Ich habe hier einen Pull Request für diese Funktion erstellt https://github.com/apidoc/apidoc/pull/647 , obwohl ich persönlich denke, dass wir neben optionalen Parametern, die eine leere Zeichenfolge angeben sollten, eine Art Kontrollkästchen einfügen sollten für Musteranfragen gesendet werden, falls Sie tatsächlich einen Leerstring senden möchten.

+1

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

Znarkus picture Znarkus  ·  7Kommentare

dvv picture dvv  ·  8Kommentare

brandonhamilton picture brandonhamilton  ·  4Kommentare

njwest picture njwest  ·  4Kommentare

ivan-kleshnin picture ivan-kleshnin  ·  5Kommentare