web-dev-qa-db-fra.com

Est-il possible d'envoyer un tableau avec l'extension Postman Chrome?

J'utilise l'extension Postman Chrome pour tester mon API et souhaite envoyer un tableau d'identifiants par la poste. Existe-t-il un moyen d'envoyer quelque chose à cette liste en tant que paramètre dans Postman?

{
  user_ids: ["1234", "5678"]
}
183
Will Hitchcock

Vous devez suffixer votre nom de variable avec [] comme ceci:

send_array_param_with_postman

Si cela ne fonctionne pas, essayez de ne pas mettre les index entre parenthèses: 

my_array[]  value1
my_array[]  value2

Remarque:

  • Si vous utilisez l'application postman packaged , vous pouvez envoyer un tableau en sélectionnant raw/json (au lieu de form-data). Assurez-vous également de définir Content-Type en tant que application/json dans l'onglet Headers. Voici un exemple pour les données brutes {"user_ids": ["123" "233"]}, n'oubliez pas les guillemets! 

  • Si vous utilisez le client postman REST , vous devez utiliser la méthode que je viens de décrire car la transmission de données en tant que données brutes (JSON) ne fonctionnera pas. Il y a un bogue dans le client postman REST (Au moins, je reçois le bogue quand j'utilise 0.8.4.6).

349

Pour moi ne fonctionne pas avec tableau [0], tableau 1 , .. ou tableau [], tableau [], ... . Cela fonctionne plus simplement:enter image description here

50
Popa Andrei

Voici ma solution:

utilisez les données de formulaire et éditez comme ci-dessous:

Key       Value 
box[]      a
box[n1]    b
box[n2][]  c
box[n2][]  d

et vous obtiendrez un tableau comme celui-ci:

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

J'ai aussi eu ce problème et je l'ai résolu en procédant comme suit:

1 - Aller à la configuration de l'en-tête de la demande et ajouter ce qui suit:

Accept : application/json, text/plain, */*
Content-Type : application/json;charset=UTF-8

2 - Pour envoyer le tableau json, je me suis tourné au format JSON brut et ai défini le tableau

["bbbbbbbbbb","aaaaaaaaaa","987654321","123456789"]
24
mesteves

Comme mentionné par @pinouchon, vous pouvez le transmettre à l'aide du tableau index

my_array[0] value
my_array[1] value

In addition to this, to pass list of hashes, you can follow something like:

my_array[0][key1] value1

my_array[0][key2] value2

Exemple:

To pass param1=[{name:test_name, value:test_value}, {...}]

param1[0][name] test_name

param1[0][value] test_value
15
Manoj

Définissez Body comme brut et formez le tableau comme suit: 

 enter image description here

13
danywarner

Si vous voulez un tableau de dict, essayez ceci:  enter image description here

6
C.K.

Choisissez soit des données de formulaire, soit un code url et utilisez la même clé "user_ids". Le serveur devrait le recevoir comme un tableau.

5
Abhinav

dans le jeu d'en-têtes 

content-type : application/x-www-form-urlencoded

Dans l'option de sélection du corps 

x-www-form-urlencoded

et insérer des données en tant que tableau JSON

user_ids : ["1234", "5678"]
5
Aris

Il est important de savoir que le champ de valeur ne peut contenir qu'une valeur (pas de spécificateur).

Si vous voulez envoyer par exemple un tableau de "messages" avec Postman, chacun ayant une liste de paires clé/valeur, entrez par ex. messages [] [raison] en tant que clé et la valeur de raison sous valeur:

 enter image description here

Le serveur recevra:

{"messages"=>[{"reason"=>"scrolled", "tabid"=>"2"}, {"reason"=>"reload", "tabid"=>"1"}], "endpoint"=>{}}
2
{
    "data" : [  
        {
            "key1" : "value1",
            "key2" : "value2"   
        },
        {
            "key01" : "value01",
            "key02" : "value02"             
        },
        {
            "key10" : "value10",
            "key20" : "value20"   
        }
    ]
}

Vous pouvez passer comme ça ... Espérons que cela aidera quelqu'un.

1
Narendra Solanki

Cela fonctionne aussi pour les listes de l'objet:

Id:37
IdParent:26
Name:Poplet
Values[0].Id:1349
Values[0].Name:SomeName
Values[1].Id:1350
Values[1].Name:AnotherName

l'équivalent JSON serait:

{
    "Id": 37,
    "IdParent": 26,
    "Name": "Poplet",
    "Values": [
        {
            "Id": 1349,
            "Nombre": "SomeName"
        },
        {
            "Id": 1350,
            "Nombre": "AnotherName"
        }
    ]
}
1
onicofago

Allez à En-tête et sélectionnez Content-Type = application/json puis allez au corps et sélectionnez raw puis passez un tableau . enter image description here

1
Farhan

Dans les données de formulaire,

   key              value

 user_ids[]         1234
 user_ids[]         5678
0
Mritunjay Upadhyay

J'ai essayé toutes les solutions ici et dans d'autres posts, mais rien n'y fait. 

La seule réponse m'a aidé:
Ajouter l’attribut [FromBody] avant la décélération du paramètre dans la signature de la fonction: 

[Route("MyFunc")]        
public string MyFunc([FromBody] string[] obj)
0
Ariela