Saya menggunakan ekstensi Chrome tukang pos untuk menguji layanan web.
Ada tiga opsi yang tersedia untuk input data.
Saya kira itu raw
ini untuk mengirim JSON.
Apa perbedaan antara dua lainnya, form-data
dan x-www-form-urlencoded
?
Saya menggunakan ekstensi Chrome tukang pos untuk menguji layanan web.
Ada tiga opsi yang tersedia untuk input data.
Saya kira itu raw
ini untuk mengirim JSON.
Apa perbedaan antara dua lainnya, form-data
dan x-www-form-urlencoded
?
Jawaban:
Ini adalah berbagai jenis konten formulir yang ditentukan oleh W3C. Jika Anda ingin mengirim data teks / ASCII sederhana, maka x-www-form-urlencoded akan berfungsi. Ini standarnya.
Tetapi jika Anda harus mengirim teks non-ASCII atau data biner besar, form-data adalah untuk itu.
Anda dapat menggunakan Raw jika Anda ingin mengirim teks biasa atau JSON atau jenis string lainnya. Seperti namanya, Postman mengirim data string mentah Anda karena tanpa modifikasi. Jenis data yang Anda kirim dapat diatur dengan menggunakan header tipe konten dari drop down.
Biner dapat digunakan ketika Anda ingin melampirkan data non-tekstual ke permintaan, misalnya file video / audio, gambar, atau file data biner lainnya.
Lihat tautan ini untuk bacaan lebih lanjut: Formulir dalam dokumen HTML
Ini menjelaskan lebih baik: Postman docs
Minta badan
Saat membangun permintaan, Anda akan banyak berurusan dengan editor badan permintaan. Tukang pos memungkinkan Anda mengirim hampir semua jenis permintaan HTTP (Jika Anda tidak dapat mengirim sesuatu, beri tahu kami!). Editor tubuh dibagi menjadi 4 area dan memiliki kontrol yang berbeda tergantung pada tipe tubuh.
formulir-data
multipart / form-data adalah penyandian standar yang digunakan formulir web untuk mentransfer data.Ini mensimulasikan mengisi formulir di situs web, dan mengirimkannya. Editor formulir-data memungkinkan Anda mengatur pasangan kunci / nilai (menggunakan editor nilai-kunci) untuk data Anda. Anda juga dapat melampirkan file ke suatu tombol. Perhatikan bahwa karena batasan spesifikasi HTML5, file tidak disimpan dalam riwayat atau koleksi. Anda harus memilih file lagi pada saat mengirim permintaan.urlencoded
Pengkodean ini sama dengan yang digunakan dalam parameter URL. Anda hanya perlu memasukkan pasangan kunci / nilai dan tukang pos akan menyandikan kunci dan nilai dengan benar. Perhatikan bahwa Anda tidak dapat mengunggah file melalui mode penyandian ini. Mungkin ada beberapa kebingungan antara formulir-data dan urlencode jadi pastikan untuk memeriksa dengan API Anda terlebih dahulu.
mentah
Permintaan mentah dapat berisi apa saja. Tukang pos tidak menyentuh string yang dimasukkan dalam editor mentah kecuali mengganti variabel lingkungan. Apa pun yang Anda masukkan ke dalam area teks akan dikirim dengan permintaan. Editor mentah memungkinkan Anda mengatur jenis pemformatan bersama dengan tajuk yang benar yang harus Anda kirim dengan tubuh mentah. Anda dapat mengatur header Tipe Konten secara manual juga. Biasanya, Anda akan mengirim data XML atau JSON di sini.
biner
data biner memungkinkan Anda mengirim hal-hal yang tidak dapat Anda masukkan di tukang pos. Misalnya, file gambar, audio atau video. Anda dapat mengirim file teks juga. Seperti yang disebutkan sebelumnya di bagian formulir-data, Anda harus memasang kembali file jika Anda memuat permintaan melalui sejarah atau koleksi.
MEMPERBARUI
Seperti yang ditunjukkan oleh VKK , spesifikasi WHATWG mengatakan urlencoded adalah tipe penyandian default untuk formulir.
Nilai default yang tidak valid untuk atribut ini adalah status aplikasi / x-www-form-urlencoded. Nilai default yang hilang untuk atribut enctype juga status aplikasi / x-www-form-urlencoded.
Content-Type: application/json
header; dan data mentah dimasukkan sebagai json seperti {foo: bar}
dengan Content-Type: application/json
header yang sama ?
multipart / formulir-data
Catatan. Silakan berkonsultasi dengan RFC2388 untuk informasi tambahan tentang unggahan file, termasuk masalah kompatibilitas ke belakang, hubungan antara "multipart / formulir-data" dan jenis konten lainnya, masalah kinerja, dll.
Silakan baca lampiran untuk informasi tentang masalah keamanan untuk formulir.
Jenis konten "application / x-www-form-urlencoded" tidak efisien untuk mengirim sejumlah besar data biner atau teks yang mengandung karakter non-ASCII. Jenis konten "multipart / formulir-data" harus digunakan untuk mengirimkan formulir yang berisi file, data non-ASCII, dan data biner.
Jenis konten "multipart / formulir-data" mengikuti aturan semua aliran data MIME multipart seperti yang diuraikan dalam RFC2045 . Definisi "multipart / formulir-data" tersedia di registri [IANA].
Pesan "multipart / formulir-data" berisi serangkaian bagian, masing-masing mewakili kontrol yang berhasil. Bagian dikirim ke agen pemrosesan dalam urutan yang sama kontrol yang sesuai muncul dalam aliran dokumen. Batas bagian tidak boleh terjadi di salah satu data; bagaimana ini dilakukan terletak di luar ruang lingkup spesifikasi ini.
Seperti semua jenis multipart MIME, setiap bagian memiliki header "Tipe-Konten" opsional yang secara default adalah "teks / polos". Agen pengguna harus menyediakan tajuk "Tipe Konten", disertai dengan parameter "rangkaian karakter".
application / x-www-form-urlencoded
Ini adalah tipe konten default. Formulir yang dikirimkan dengan tipe konten ini harus dikodekan sebagai berikut:
Nama dan nilai kontrol diloloskan. Karakter spasi diganti dengan +', and then reserved characters are escaped as described in [RFC1738], section 2.2: Non-alphanumeric characters are replaced by
% HH ', tanda persen dan dua digit heksadesimal yang mewakili kode ASCII karakter. Jeda baris direpresentasikan sebagai pasangan "CR LF" (yaitu, %0D%0A').
The control names/values are listed in the order they appear in the document. The name is separated from the value by
= 'dan pasangan nama / nilai dipisahkan satu sama lain oleh `&'.
application/x-www-form-urlencoded
isi pesan HTTP yang dikirim ke server pada dasarnya adalah satu string kueri raksasa - pasangan nama / nilai dipisahkan oleh ampersand (&), dan nama dipisahkan dari nilai dengan simbol sama dengan (=). Contohnya adalah:
MyVariableOne=ValueOne&MyVariableTwo=ValueTwo
The jenis konten "application / x-www-form-urlencoded" tidak efisien untuk mengirimkan sejumlah besar data biner atau teks yang berisi karakter non-ASCII. Jenis konten "multipart / formulir-data" harus digunakan untuk mengirimkan formulir yang berisi file, data non-ASCII, dan data biner.
Berikut adalah beberapa contoh tambahan untuk melihat teks mentah yang dikirimkan oleh tukang pos dalam permintaan. Anda dapat melihat ini dengan membuka konsol Postman:
Header
content-type: multipart/form-data; boundary=--------------------------590299136414163472038474
Tubuh
key1=value1key2=value2
Header
Content-Type: application/x-www-form-urlencoded
Tubuh
key1=value1&key2=value2
Header
Content-Type: text/plain
Tubuh
This is some text.
Header
Content-Type: application/json
Tubuh
{"key1":"value1","key2":"value2"}
binary
.