Postman Chrome拡張機能で配列を送信することはできますか?


246

私はAPIをテストするためにPostman Chrome拡張機能を使用しており、IDの配列をpost経由で送信したいと考えています。これをPostmanのパラメータとして何かリストを送信する方法はありますか?

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

1
配列を送信する正しい方法は、「何らかの方法で、送信先の特定のサーバーが配列を正しく受信する」と確信しています。これは、以下の回答のばらつきを説明していますが、全員(または誰か?)が使用しているバックエンドを言っていれば、すべてが少し役立つでしょう。
mwardm

回答:


438

次の[]ように変数名に接尾辞を付ける必要があります。

send_array_param_with_postman

それがうまくいかない場合は、インデックスを角括弧で囲まないようにしてください:

my_array[]  value1
my_array[]  value2

注意:

  • postmanパッケージアプリを使用している場合は、raw/のjson代わりに/ を選択して配列を送信できますform-data。また、タブのように設定Content-Typeapplication/jsonてくださいHeaders。これが生データの例です{"user_ids": ["123" "233"]}、引用符を忘れないでください!

  • あなたが使用している場合は郵便配達RESTクライアントを私は動作しません生(JSON)としてデータを渡すために、上記の方法を使用する必要があります。postman RESTクライアントにバグがあります(少なくともを使用するとバグが発生します0.8.4.6)。


3
誰かが配列だけでなくハッシュを追加する方法を尋ねている場合でも、考え方は同じです。インデックスをハッシュ名に変更するだけですmy_array[hashname] value1
Bryan P

5
my_array[] value]のように、指定された値で配列パラメーターを作成しますkey => [valuemy_array[key] valueハッシュを作成します{key => value}
MARC.RS 2015

1
それらのどれも機能しませんでしたが、配列名を追加するだけで2019年に機能することがわかり
Shreyan Mehta

71

私にとって、array [0]、array 1、..、またはarray []、array []、... は機能しませんでした。より簡単に機能します: ここに画像の説明を入力してください


8
同じ名前のキーを複数追加すると、サーバーは最後のキーのみを受け取ります
evilReiko

form-dataで1つの要素userid [0]のみを送信する方法を教えてください。キーフィールドにuserid [] / userid [0]を渡すと、文字列として扱われます。
ジョンシー2018

1
asp.netコア2.2では、このソリューションですべての配列要素を受け取ります
ahong

Djangoでは、このメソッドを使用して、request.FILES.getlist( 'usersId')ですべてのファイルを取得できました
Swasidhant

44

これが私の解決策です:

form-dataを使用して、以下のように編集します。

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

そして、あなたはこのような配列を取得します:

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

すごい!最後に、オブジェクト "loc":{"type": "Point"、 "coordinates":[126.972967、37.54171]、}を送信して、loc [type]:Point、loc [coordinates] []:126と入力します。 。、loc [coordinates] []:37 ...ポストマンthxで!!
JillAndMe 2018

ファイルを送信する必要がある場合、Postmanの「raw」フォーマットは機能しないため、これは非常に役立ちます。フォームデータ形式を使用する必要があります。
逮捕

32

私にもその問題があり、次のようにして解決しました。

1-要求ヘッダー構成に移動し、以下を追加しました:

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

2-json配列を送信するために、私はraw json形式に進み、user_idsを配列に設定しました。

user_ids: ["bbbbbbbbbb","aaaaaaaaaa","987654321","123456789"]

Acceptヘッダーを設定する必要はありませんでした
janv8000

これが私が必要とした答えでした。
Phillip Brandon Holmes

私のAPIメソッドはList <string>を想定していますが、これでうまくいきました。
信仰が2017年

20

Bodyをrawとして設定し、次のように配列を形成します。

ここに画像の説明を入力してください


{"question": "インドの首都は何ですか"、 "marks":1、 "options":["Mumbai"、 "Pune"、 "New Delhi"、 "Jaipur"]、 "correct": "New Delhi" }
Prathamesh More

17

@pinouchonで述べたように、配列インデックスを使用して渡すことができます

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

例:

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

param1[0][name] test_name

param1[0][value] test_value

17

辞書の配列が必要な場合は、これを試してください: ここに画像の説明を入力してください


2
私にとって、node.js / social_links[0].name
mongooseで機能したの

あなたの例では、もしもname配列ならどうでしょうか?social_links[0]name[0]Django RESTフレームワーク(多対多の関係を持つネストされた書き込み可能なモデルシリアライザー)のようなものを試しましたが、機能しませんでした。
ネイサン


10

VALUEボックスには数値のみを指定できます(指定子は不可)。

たとえばPostmanで「メッセージ」の配列を送信する場合、それぞれにキーと値のペアのリストがあり、たとえば[key]ボックスにmessages [] [reason]と入力し、[VALUE]ボックスにreasonの値を入力します。

ここに画像の説明を入力してください

サーバーは以下を受け取ります:

{"messages"=>[{"reason"=>"scrolled", "tabid"=>"2"}, {"reason"=>"reload", "tabid"=>"1"}], "endpoint"=>{}}

これでうまくいきました...しかし、フォームデータオプションをチェックしたときだけです。
Nowdeen

8

ヘッダーセット

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

ボディ選択オプション

x-www-form-urlencoded

そしてjson配列としてデータを挿入する

user_ids : ["1234", "5678"]

フォームデータを使用して私のために働いた唯一のもの!私も画像を送信しているため、rawを使用できませんでした
Matt Wills

唯一の人も私のために働いた完全な初心者の場合:x-www-form-urlencoded =>一括編集=> UserNames:["UserName1"、 "UserName2"、 "UserName3"]を押す
Denys Moroz

7

これは、オブジェクト内のリストでも機能します。

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

同等のJSONは次のようになります。

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

6

ヘッダーに移動してContent-Type= application/jsonを選択しraw、次に本文に移動して選択してから配列を渡します。ここに画像の説明を入力してください


5

form-dataまたはurlencodedを選択し、同じキー「user_ids」を使用します。サーバーはそれを配列として受け取る必要があります。


PostmanでJSONを選択した場合でも、XMLヘッダーを誤って送信するChromeのバグのためContent-type、値を含むヘッダーを追加する必要があるようですapplication/json
Jason Swett、2013

5
誰かが答えを探して戻ってきた場合に備えて、配列のキーは単にuser_idsではなくuser_ids []である必要があります
anguyen

3
{
    "data" : [  
        {
            "key1" : "value1",
            "key2" : "value2"   
        },
        {
            "key01" : "value01",
            "key02" : "value02"             
        },
        {
            "key10" : "value10",
            "key20" : "value20"   
        }
    ]
}

このように合格できます。これが誰かを助けることを願っています。



0

私はここと他の投稿ですべての解決策を試しましたが、何も助けにはなりませんでした。

唯一の答えは私を助けました:
関数シグネチャのパラメータの宣言の前に[FromBody]属性を追加します:

[Route("MyFunc")]        
public string MyFunc([FromBody] string[] obj)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.