Postman Chrome uzantısına sahip bir dizi göndermek mümkün müdür?


246

API'mı test etmek için Postman Chrome uzantısını kullanıyorum ve posta yoluyla bir dizi kimlik göndermek istiyorum. Bu öğeyi Postacı'da bir parametre olarak göndermenin bir yolu var mı?

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

1
Bir dizi göndermek için doğru yolu "bir şekilde göndermek için belirli bir sunucu doğru alacak " bir şekilde oldukça eminim . Bu, aşağıdaki cevaplardaki farklılığı açıklamaktadır - ancak herkes (veya herhangi biri?) Hangi arka ucu kullandıklarını söylemiş olsalardı, biraz daha yararlı olurdu.
18'de mwardm

Yanıtlar:


438

Değişken adınızı şu şekilde eklemeniz gerekir []:

send_array_param_with_postman

Bu işe yaramazsa, dizinleri köşeli parantez içine koymamaya çalışın:

my_array[]  value1
my_array[]  value2

Not:

  • Postacı ile paketlenmiş uygulamayı kullanıyorsanız, raw/ json(yerine form-data) öğesini seçerek bir dizi gönderebilirsiniz . Ayrıca, sete emin Content-Typeolarak application/jsoniçinde Headerssekmesine. İşte ham veriler için örnek {"user_ids": ["123" "233"]}, tırnak unutmayın!

  • Eğer kullanıyorsanız postacı DİNLENME istemcisi yapmayacaksın işi çiğ (json) gibi verileri geçirmeden çünkü yukarıda açıklanan yöntemi kullanmak zorunda. Postacı REST istemcisinde bir hata var (En azından kullandığımda hatayı alıyorum 0.8.4.6).


3
Birisi sadece dizi yerine karma eklemeyi soruyorsa, fikir hala aynıdır, sadece dizinleri karma adına değiştirinmy_array[hashname] value1
Bryan P

5
my_array[] valuekey => [value] olarak verilen değerlerle bir dizi parametresi oluşturur . my_array[key] valuegibi bir karma oluşturacaktır {key => value}.
MARC.RS

1
hiçbiri işe yaramadı, ancak 2019'da dizi adını eklediğini anladım. [ prntscr.com/nqubpi]
Shreyan Mehta

71

Benim için dizi [0], dizi 1 , .. veya dizi [], dizi [], ... ile çalışmadı . Daha basit çalışır: resim açıklamasını buraya girin


8
Aynı ada sahip birden fazla anahtar ekleyerek, sunucu yalnızca
sonuncuyu alır

lütfen form verilerinde yalnızca bir kullanıcı userid [0] öğesinin nasıl gönderileceğini söyleyin. Eğer bir anahtar alana userid [] / userid [0] iletirse, dize olarak alınır!
Johncy

1
asp.net core 2.2 ile, bu dizi ile tüm dizi elemanlarını alır
ahong

de Django ile tüm dosyaları elde edebildim: request.FILES.getlist ('usersId'), bu yöntemi kullanarak
Swasidhant

44

İşte benim çözümüm:

form verilerini kullanın ve aşağıdaki gibi düzenleyin:

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

ve bunun gibi bir dizi elde edersiniz:

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

Harika! Sonunda loc [type] yazmak için bir nesne "loc": {"type": "Point", "coordinates": [126.972967, 37.54171],} gönderebilirim: Point, loc [coordinates] []: 126 .. ., loc [koordinatları] []: 37 ... üzerinde Postacı thx !!
JillAndMe

Bu, dosya göndermeniz gerektiğinde çok yararlıdır, Postacı'nın 'ham' biçimi işe yaramaz. Form-veri biçimini kullanmanız gerekir.
Haziran'da teyze

32

Ayrıca bu sorunu yaşadım ve aşağıdakileri yaparak çözdüm:

1 - İstek başlığı yapılandırmasına gidip aşağıdakileri ekledi:

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

2 - json dizisini göndermek için ham json formatına gittim ve user_ids'i diziye ayarladım:

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

Bu benim için hile yaptı, ancak Accept üstbilgisini ayarlamak gerekli değildi
janv8000

İhtiyacım olan cevap buydu.
Phillip Brandon Holmes

API yöntemim <string> Listesini bekliyor ve bu işi yaptı.
Faith

20

Gövde'yi ham olarak ayarlayın ve diziyi aşağıdaki gibi oluşturun:

resim açıklamasını buraya girin


{"question": "Hindistan'ın başkenti nedir", "işaretler": 1, "seçenekler": ["Mumbai", "Pune", "Yeni Delhi", "Jaipur"], "doğru": "Yeni Delhi" }
Prathamesh Daha fazla

17

@Pinouchon tarafından belirtildiği gibi dizi indeksi yardımıyla iletebilirsiniz

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

Misal:

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

param1[0][name] test_name

param1[0][value] test_value

17

Bir dizi dikte istiyorsanız, şunu deneyin: resim açıklamasını buraya girin


2
Benim için node.js / mongoose için işe yarayan social_links[0].nameek süreye
Songtham T.

Örneğinizde, eğer namebir dizi ise? social_links[0]name[0]Django REST Framework (birçok-çok ilişkileri olan iç içe yazılabilir model-serileştirici) gibi bir şey denedim ve işe yaramadı.
Nathan

11

bu benim için çalıştı. Öğe nesnesi dizisini {ItemID, ColorID, SizeID, Quntity}

Postacı verileri


10

VALUE kutusunun yalnızca sayısal bir değer içermesine izin verildiğini (belirtici yok) bilmek önemlidir.

Her biri anahtar / değer çiftlerinin bir listesini içeren Postacı ile örneğin bir dizi "mesaj" göndermek istiyorsanız, ANAHTAR kutusuna örn. İletiler [] [neden] ve değer değerini DEĞER kutusuna girin:

resim açıklamasını buraya girin

Sunucu şunları alacak:

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

Bu hile yaptı ... ama sadece form-veri seçeneğini işaretlediğimde.
Nowdeen

8

üstbilgi kümesinde

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

Gövde seçiminde

x-www-form-urlencoded

ve verileri json dizisi olarak ekle

user_ids : ["1234", "5678"]

Sadece bir tanesi form verilerini kullanarak benim için çalıştı! Ben de görüntü gönderdiğim için ham kullanılamadı
Matt Wills

Sadece benim için de çalıştı Yeni başlayanlar için: x-www-form-urlencoded => bulk edit => KullanıcıAdları: ["KullanıcıAdı1", "KullanıcıAdı2", "KullanıcıAdı3"]
Denys Moroz

7

Bu aynı zamanda nesne içindeki listeler için de geçerlidir:

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

eşdeğer JSON:

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

6

Üstbilgiye gidin ve Content-Type= application/jsonöğesini seçin raw, sonra gövdeye gidin ve seçip bir dizi geçirin.resim açıklamasını buraya girin


5

Form verilerini veya urlen kodunu seçin ve aynı "user_ids" anahtarını kullanın. Sunucu bunu bir dizi olarak almalıdır.


Görünüşe göre, Chrome'da, Postacı'da JSON'u seçtiğinizde bile yanlışlıkla bir XML üstbilgisi ile gönderilen bir hata nedeniyle Content-type, değere sahip bir başlık eklemeniz gerekir application/json.
Jason Swett

5
Birisinin bir cevap aramaya geri dönmesi durumunda, bir dizinin anahtarı sadece user_ids yerine user_ids [] olmalıdır
anguyen

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

Bu şekilde geçebilirsiniz. Umarım bu birine yardımcı olur.



0

Burada ve diğer yazılarda tüm çözümü denedim, ancak hiçbir şey yardımcı olmadı.

Tek cevap bana yardımcı oldu:
İşlev imzasında parametrenin tanımlanmasından önce [FromBody] özniteliğini eklemek:

[Route("MyFunc")]        
public string MyFunc([FromBody] string[] obj)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.