Apakah mungkin untuk mengirim array dengan ekstensi Chrome tukang pos?

247

Saya telah menggunakan ekstensi Chrome tukang pos untuk menguji API saya dan ingin mengirim array ID melalui pos. Apakah ada cara untuk mengirim daftar sesuatu ini sebagai parameter di tukang pos?

{
  user_ids: ["1234", "5678"]
}
Will Hitchcock
sumber
1
Saya cukup yakin cara yang tepat untuk mengirim array adalah "dengan cara tertentu server yang Anda kirim akan menerimanya dengan benar". Ini menjelaskan variasi jawaban di bawah ini - tetapi semuanya akan sedikit lebih berguna jika semua orang (atau siapa pun?) Telah mengatakan apa yang mereka gunakan.
mwardm

Jawaban:

439

Anda perlu suffix nama variabel Anda dengan []seperti ini:

send_array_param_with_postman

Jika itu tidak berhasil, cobalah untuk tidak menempatkan indeks di dalam tanda kurung:

my_array[]  value1
my_array[]  value2

catatan:

  • Jika Anda menggunakan aplikasi paket tukang pos , Anda dapat mengirim array dengan memilih raw/ json(bukan form-data). Juga, pastikan untuk mengatur Content-Typeseperti application/jsonpada Headerstab. Ini adalah contoh untuk data mentah {"user_ids": ["123" "233"]}, jangan lupa tanda kutip!

  • Jika Anda menggunakan klien tukang pos REST, Anda harus menggunakan metode yang saya jelaskan di atas karena melewatkan data sebagai mentah (json) tidak akan berfungsi. Ada bug di klien tukang pos REST (Setidaknya saya mendapatkan bug saat menggunakan 0.8.4.6).

Benjamin Crouzier
sumber
3
Kalau-kalau ada orang yang bertanya bagaimana menambahkan hash bukan hanya array, idenya masih sama, hanya mengubah indeks ke nama hashmy_array[hashname] value1
Bryan P
5
my_array[] valueakan membuat parameter array dengan nilai yang disediakan, seperti key => [value]. my_array[key] valueakan membuat hash, sebagai {key => value}.
MARC.RS
1
tidak satu pun dari mereka yang bekerja tetapi saya tahu hanya menambahkan nama array berfungsi pada tahun 2019. [ prntscr.com/nqubpi]
Shreyan Mehta
71

Bagi saya tidak bekerja dengan array [0], array 1 , .. atau array [], array [], .... Ini bekerja lebih sederhana: masukkan deskripsi gambar di sini

Popa Andrei
sumber
8
Dengan menambahkan beberapa kunci dengan nama yang sama, server hanya akan menerima yang terakhir
evilReiko
tolong beri tahu saya cara mengirim hanya satu elemen userid [0] dalam bentuk-data. jika saya melewatkan userid [] / userid [0] di bidang kunci yang diambil sebagai string!
Johncy
1
dengan asp.net core 2.2, ia menerima semua elemen array dengan solusi ini
ahong
di Django saya bisa mendapatkan semua file dengan: request.FILES.getlist ('usersId'), menggunakan metode ini
Swasidhant
44

Ini solusinya:

gunakan formulir-data dan edit seperti di bawah ini:

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

dan Anda akan mendapatkan array seperti ini:

{"box":{"0":"a","n1":"b","n2":["c","d"]}}
Gary
sumber
Bagus! akhirnya saya dapat mengirim objek "loc": {"type": "Point", "koordinat": [126.972967, 37.54171],} untuk mengetikkan loc [tipe]: Point, loc [koordinat] []: 126 .. ., loc [koordinat] []: 37 ... di Tukang pos thx !!
JillAndMe
Ini sangat membantu karena ketika Anda perlu mengirim file, format 'mentah' Postman tidak akan berfungsi. Anda perlu menggunakan format formulir-data.
arunt
32

Saya juga punya masalah itu, dan menyelesaikannya dengan melakukan hal berikut:

1 - Pergi ke konfigurasi tajuk permintaan dan menambahkan yang berikut:

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

2 - Untuk mengirim array json, saya pergi ke format raw json dan mengatur user_ids ke array:

user_ids: ["bbbbbbbbbb","aaaaaaaaaa","987654321","123456789"]
mesteves
sumber
Ini melakukan trik untuk saya, menetapkan tajuk Terima tidak diperlukan
janv8000
Inilah jawaban yang saya butuhkan.
Phillip Brandon Holmes
Metode API saya mengharapkan Daftar <string> dan ini berhasil.
Faith Wins
20

Tetapkan Tubuh sebagai mentah dan bentuk array sebagai berikut:

masukkan deskripsi gambar di sini

danywarner
sumber
{"pertanyaan": "Apa itu ibukota India", "menandai": 1, "opsi": ["Mumbai", "Pune", "New Delhi", "Jaipur"], "benar": "New Delhi" }
Prathamesh More
17

Seperti yang disebutkan oleh @pinouchon Anda dapat melewatinya dengan bantuan indeks array

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

Contoh:

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

param1[0][name] test_name

param1[0][value] test_value
Manoj
sumber
17

Jika Anda ingin berbagai dikte, coba ini: masukkan deskripsi gambar di sini

CK
sumber
2
Bagi saya yang bekerja untuk node.js / luwak adalah social_links[0].namemelihat periode
Songtham T.
Dalam contoh Anda bagaimana jika namejuga sebuah array? Saya mencoba sesuatu seperti social_links[0]name[0]di Django REST Framework (bersarang model-serializer bersarang dengan banyak-ke-banyak hubungan) dan tidak berhasil.
Nathan
11

ini berhasil untuk saya. untuk melewatkan larik objek Item {ItemID, ColorID, SizeID, Quntity}

Data tukang pos

Abdu Imam
sumber
10

Penting untuk diketahui, bahwa kotak VALUE hanya diperbolehkan berisi nilai angka (tidak ada penentu).

Jika Anda ingin mengirim mis. Array "pesan" dengan tukang pos, masing-masing memiliki daftar pasangan kunci / nilai, masukkan mis. Pesan [] [alasan] ke dalam kotak KUNCI dan nilai alasan ke dalam kotak VALUE:

masukkan deskripsi gambar di sini

Server akan menerima:

{"messages"=>[{"reason"=>"scrolled", "tabid"=>"2"}, {"reason"=>"reload", "tabid"=>"1"}], "endpoint"=>{}}
Alexander Roehnisch
sumber
Ini berhasil ... tetapi hanya ketika saya memeriksa opsi form-data.
Nowdeen
8

di set header

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

Opsi pilih di badan

x-www-form-urlencoded

dan masukkan data sebagai json array

user_ids : ["1234", "5678"]
Aris
sumber
Hanya satu yang berfungsi untuk saya menggunakan data formulir! Tidak dapat menggunakan bahan mentah karena saya juga mengirim gambar
Matt Wills
Satu-satunya yang bekerja untuk saya juga Untuk pemula yang lengkap: Tekan x-www-form-urlencoded => bulk edit => UserName1: ["UserName1", "UserName2", "UserName3"]
Denys Moroz
7

Ini juga berfungsi untuk daftar di dalam objek:

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

JSON yang setara adalah:

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

Pergi ke Header dan pilih Content-Type= application/jsonlalu pergi ke badan dan pilih rawdan kemudian lulus array.masukkan deskripsi gambar di sini

Farhan
sumber
5

Pilih formulir-data atau urlencoded dan gunakan kunci yang sama "user_ids". Server harus menerimanya sebagai array.

Abhinav
sumber
Sepertinya, karena bug di Chrome yang salah kirim dengan tajuk XML bahkan ketika Anda memilih JSON di tukang pos, Anda harus menambahkan Content-typetajuk dengan nilai application/json.
Jason Swett
5
kalau-kalau seseorang kembali mencari jawaban, kunci array haruslah user_ids [] bukan hanya user_ids
anguyen
3
{
    "data" : [  
        {
            "key1" : "value1",
            "key2" : "value2"   
        },
        {
            "key01" : "value01",
            "key02" : "value02"             
        },
        {
            "key10" : "value10",
            "key20" : "value20"   
        }
    ]
}

Anda bisa lewat seperti ini. Semoga ini bisa membantu seseorang.

Narendra Solanki
sumber
2

Dalam bentuk-data,

   key              value

 user_ids[]         1234
 user_ids[]         5678
Mritunjay Upadhyay
sumber
0

Saya mencoba semua solusi di sini dan di pos lain, tetapi tidak ada yang membantu.

Satu-satunya jawaban membantu saya:
Menambahkan atribut [FromBody] sebelum deklerasi parameter dalam tanda tangan fungsi:

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