368 Stimmen

Ist es möglich, mit der Postman Chrome-Erweiterung ein Array zu senden?

Ich habe die Postman Chrome-Erweiterung verwendet, um meine API zu testen, und möchte gerne ein Array von IDs per Post senden. Gibt es eine Möglichkeit, so etwas als Parameter in Postman zu senden?

{
  user_ids: ["1234", "5678"]
}

1 Stimmen

Ich bin ziemlich sicher, dass der richtige Weg, um ein Array zu senden, "irgendwie ist, dass der bestimmte Server, an den Sie es senden, es richtig empfängt". Dies erklärt die Unterschiede in den Antworten unten - aber es wäre hilfreicher, wenn alle (oder irgendjemand?) gesagt hätten, welches Back-End sie verwenden.

639voto

Benjamin Crouzier Punkte 37441

Sie müssen Ihren Variablennamen mit [] wie folgt anhängen:

send_array_param_with_postman

Wenn das nicht funktioniert, versuchen Sie nicht, Indizes in Klammern zu setzen:

my_array[]  value1
my_array[]  value2

Hinweis:

  • Wenn Sie die Postman Paket-App verwenden, können Sie ein Array senden, indem Sie raw / json (anstelle von form-data) auswählen. Stellen Sie außerdem sicher, dass Content-Type im Headers-Tab als application/json eingestellt ist. Hier ist ein Beispiel für Rohdaten {"user_ids": ["123" "233"]}, vergessen Sie nicht die Anführungszeichen!

  • Wenn Sie den Postman REST-Client verwenden, müssen Sie die von mir oben beschriebene Methode verwenden, da das Übergeben von Daten als Raw (json) nicht funktioniert. Es gibt einen Fehler im Postman REST-Client (Zumindest bekomme ich den Fehler, wenn ich 0.8.4.6 verwende).

3 Stimmen

Für den Fall, dass jemand fragt, wie man anstelle eines einfachen Arrays Hashes hinzufügt, bleibt die Idee dieselbe, man ändert nur die Indizes in den Hashnamen my_array[hashname] Wert1

6 Stimmen

my_array[] Wert erstellt einen Array-Parameter mit den bereitgestellten Werten, wie key => [value]. my_array[key] Wert erstellt einen Hash, wie {key => Wert}.

1 Stimmen

Keiner von ihnen hat funktioniert, aber ich habe herausgefunden, dass es 2019 funktioniert, einfach den Array-Namen hinzuzufügen. [[prntscr.com/nqubpi]](http://prntscr.com/nqubpi])

101voto

Popa Andrei Punkte 2113

Für mich hat es nicht funktioniert mit array[0], array1, .. oder array[], array[], ... . Es funktioniert einfacher: Bildbeschreibung hier eingeben

17 Stimmen

Durch Hinzufügen mehrerer Schlüssel mit demselben Namen wird der Server nur den letzten erhalten.

1 Stimmen

Bitte sagen Sie mir, wie ich nur ein Element userid[0] in form-data senden kann. Wenn ich userid[]/userid[0 in ein Schlüsselfeld gebe, wird es als Zeichenkette genommen!

4 Stimmen

Mit asp.net core 2.2 empfängt es alle Array-Elemente mit dieser Lösung

79voto

C.K. Punkte 3076

Wenn Sie ein Array von Dictionaries möchten, versuchen Sie es damit: enter image description here

3 Stimmen

Für mich hat bei node.js / mongoose funktioniert social_links[0].name beachten Sie den zusätzlichen Punkt

0 Stimmen

In deinem Beispiel, was ist, wenn name auch ein Array ist? Ich habe etwas wie social_links[0]name[0] in Django REST Framework (verschachtelter beschreibbarer Modell-Serializer mit vielen-zu-vielen Beziehungen) ausprobiert und es hat nicht funktioniert.

0 Stimmen

Solange ich ein '.' nach dem Index hinzufüge (z. B. social_liks[0].name), funktioniert dies für mich von Postman aus mit Spring Rest.

60voto

Gary Punkte 1089

Hier ist meine Lösung:

Verwenden Sie form-data und bearbeiten Sie wie folgt:

Schlüssel    Wert 
box[]         a
box[n1]       b
box[n2][]     c
box[n2][]     d

und Sie erhalten ein Array wie dieses:

{"box":{"0":"a","n1":"b","n2":["c","d"]}}

1 Stimmen

Großartig! Endlich kann ich ein Objekt "loc" senden
"loc": {
"type": "Point",
"coordinates": [
126.972967,
37.54171
], }
in Typ loc[type]: Punkt, loc[coordinates][]: 126 ..., loc[coordinates][]: 37 ... auf Postman thx!!

0 Stimmen

Das ist sehr hilfreich, wenn Sie Dateien senden müssen, das 'raw'-Format von Postman funktioniert einfach nicht. Sie müssen das form-data-Format verwenden.

0 Stimmen

Der einzige Nachteil dieser Lösung ist, dass wenn Sie eine Nummer als Schlüssel verwenden, wird der leere als letzter Schlüssel angezeigt. array[0], array[1], array[], der leere wird array[2] sein.

40voto

Es ist wichtig zu wissen, dass das VALUE-Feld nur einen numerischen Wert enthalten darf (keine Spezifikatoren).

Wenn Sie z.B. ein Array von "Nachrichten" mit Postman senden möchten, wobei jede eine Liste von Schlüssel/Wert-Paaren enthält, geben Sie z.B. messages[][reason] in das KEY-Feld und den Wert von reason in das VALUE-Feld ein:

Bildbeschreibung hier eingeben

Der Server wird erhalten:

{"messages"=>[{"reason"=>"gescrollt", "tabid"=>"2"}, {"reason"=>"neu laden", "tabid"=>"1"}], "endpunkt"=>{}}

0 Stimmen

Dies hat funktioniert... aber nur, als ich die Formulardaten-Option überprüft habe.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X