2012-10-06 107 views
136

我一直在使用Postman Chrome擴展來測試我的API並想通過發佈發送一個ID數組。有沒有辦法在Postman中發送一些列表作爲參數?是否可以使用Postman Chrome擴展發送數組?

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

我相當肯定送數組的正確方法是「以某種方式,在特定的* *您發送它會正確地接收它的服務器」。這說明了以下答案的差異 - 但如果每個人(或任何人?)說出他們使用的是什麼後端,那麼它會更有用。 – mwardm

回答

266

您需要[]的後綴您的變量名是這樣的:

send_array_param_with_postman

如果不起作用,儘量不要把指標括號:

my_array[] value1 
my_array[] value2 

備註:

  • 如果您使用的是postman packaged app,則可以通過選擇raw/json(而不是form-data)發送數組。另外,請務必在Headers選項卡中將Content-Type設置爲application/json。 這裏是原始數據{"user_ids": ["123" "233"]}的示例,不要忘記引號!

  • 如果您使用的是postman REST client,則必須使用上述方法,因爲將數據作爲原始數據(json)傳遞將不起作用。郵差REST客戶端中存在一個錯誤(當我使用0.8.4.6時,至少發現錯誤)。

+3

以防有人問如何添加散列而不是數組,這個想法仍然是一樣的,只是將索引更改爲哈希名稱my_array [hashname] value1' –

+4

my_array [] 123,345,456工作正常 – mmrs151

+3

'my_array [] value'將創建一個數組參數,其值爲'key => [value'] 。 'my_array [key] value'會創建一個散列,如'{key => value}'。 –

4

選擇表單數據或urlencoded並使用相同的鍵「user_ids」。服務器應該以數組的形式接收它。

+0

嗯,這對我不起作用。 –

+0

看起來,由於即使您在Postman中選擇JSON,也會錯誤地使用XML標頭髮送Chrome中的錯誤,所以您必須添加一個'application/json'值爲'Content-type'的標頭。 –

+4

只是爲了防止有人回來尋找答案,數組的關鍵應該是user_ids []而不僅僅是user_ids – anguyen

31

對我來說並沒有用數組[0],數組1,..或[]數組,數組的工作[],...。 它的工作原理更簡單地說: enter image description here

+1

通過添加多個相同名稱的密鑰,服務器將只收到最後一個 – evilReiko

16

我也有這個問題,並通過這樣做解決了下列文件:

1 - 要請求頭的配置,並增加了以下內容:

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

2 - 發送json數組,我將原始json格式並設置數組:

["bbbbbbbbbb","aaaaaaaaaa","987654321","123456789"] 
+0

這對我來說,設置接受標頭不是必要的 – janv8000

+0

這是我需要的答案。 –

+0

我的API方法期望名單,這做了這項工作。 –

27

H ERE是我的解決方案:

使用表單數據和編輯如下:

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

,你會得到一個這樣的數組:

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

正如@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 
+1

正是我在找的東西 - 謝謝! – sander

0

我嘗試了所有的解決方案在這裏和在其他職位,但沒有任何幫助。

唯一的答案幫助我:
添加函數簽名參數decleration前[FromBody]屬性:

[Route("MyFunc")]   
public string MyFunc([FromBody] string[] obj) 
3

頁眉設置

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

在車身選擇選項

x-www-form-urlencoded

和插入數據作爲JSON數組

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

這爲我工作。通過Item對象的陣列{的ItemID,ColorID,SizeID,Quntity}

Postman data

0

這也適用於列表中的對象內:

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, 
      "Nombre": "SomeName" 
     }, 
     { 
      "Id": 1350, 
      "Nombre": "AnotherName" 
     } 
    ] 
} 
4

將原體設爲原始並形成如下陣列:

enter image description here

0

在表單數據,

key    value 

user_ids[]   1234 
user_ids[]   5678 
相關問題