Industri teknologi telah membuat lompatan besar dalam pengembangan perangkat lunak, baik Web maupun Mobile. Saat ini, sorotan utamanya adalah penggunaan Application Programming Interfaces (API) yang efisien dalam pengembangan perangkat lunak. Setiap fitur yang disediakan oleh API memberikan keuntungan tambahan pada aplikasi perangkat lunak. Hal ini memungkinkan sistem perangkat lunak yang berbeda untuk berinteraksi dan berbagi data dengan mudah, meningkatkan efisiensi pengembangan. Misalnya, unggah berkas adalah salah satu fitur terpenting yang didukung oleh banyak API, memungkinkan pengguna untuk mengunggah dan berbagi berkas seperti gambar, video, dan dokumen.
Artikel ini akan membahas konsep dasar unggah berkas dalam API dan kemudian memberikan panduan langkah demi langkah di Apidog. Apidog adalah sebuah
Konsep Dasar Unggah Berkas dalam API
Sebelum langsung melihat bagaimana unggah berkas bekerja dalam API, kita perlu mempelajari beberapa konsep kunci terlebih dahulu.
Content-Type
Header HTTP Content-Type menentukan jenis konten yang dikirim dalam badan pesan HTTP. Ini adalah bagian penting dari permintaan dan respons HTTP karena memberi tahu server atau klien penerima tentang jenis konten yang dikembalikan dan cara menanganinya. Jenis konten menentukan format data yang dikirim, seperti teks, HTML, JSON, atau XML, dan memungkinkan server untuk mengurai konten dengan benar. application/json, text/plain, application/x-www-form-urlencoded, dan multipart/form-data, adalah jenis konten yang paling umum digunakan. Untuk konteks kita, kita akan mengatur jenis konten menjadi multipart/form-data, yang memungkinkan berkas disertakan dalam badan permintaan.
Ketika klien mengirimkan permintaan dengan jenis konten multipart/form-data, badan permintaan dibagi menjadi beberapa bagian, yang masing-masing berisi sepotong data. String pembatas dalam header jenis konten memisahkan setiap bagian, yang harus unik dan tidak muncul dalam data yang dikirim.
Setiap bagian dari permintaan dapat berisi pasangan nama dan nilai atau sebuah berkas. Misalnya, formulir HTML dengan bidang unggah berkas dapat mengirimkan permintaan dengan bagian file yang berisi data biner berkas dan bagian name yang berisi nama berkas. Bagian lain mungkin berisi data tambahan, seperti bidang formulir atau metadata. Format header terlihat seperti ini:
Content-Type: multipart/form-data;
boundary=----xyz123
Seperti yang dibahas di atas, data yang diposting dibagi menjadi beberapa bagian, sehingga server perlu mengenali di mana setiap bagian dimulai dan berakhir. Setiap bagian dalam badan permintaan dipisahkan oleh string pembatas, didahului oleh dua tanda hubung "--". Bagian terakhir diikuti oleh dua tanda hubung dan string pembatas, diikuti oleh dua tanda hubung lagi. Batas biasanya dimulai dengan beberapa tanda hubung dan diakhiri dengan sufiks alfanumerik (misalnya, ------xyz123
).
-- ----xyz123 Content-Disposition: form-data; name="file"; filename="example.png" Content-Type: image/png
<Binary data of the file>
-- ----xyz123
Content-Disposition: form-data; name="field1"
value1 -- ----xyz123--
Dalam contoh ini, badan permintaan berisi dua bagian: bagian berkas dengan data biner berkas dan bagian nama dengan nilai value1
. String pembatas memisahkan setiap bagian; bagian terakhir diikuti oleh dua tanda hubung, dan dua tanda hubung lagi mengikuti string pembatas.
Metode HTTP
Metode HTTP adalah pesan yang dikirim ke server yang menentukan jenis tindakan yang akan diambil. Metode-metode ini memungkinkan komunikasi yang lebih komprehensif antara browser dan server. Beberapa metode HTTP tercantum di bawah ini:
● GET: Mengambil sumber daya dari server.
● POST: Mengirimkan entitas ke server dan membuat sumber daya baru.
● PUT: Memperbarui sumber daya yang ada di server.
● DELETE: Menghapus sumber daya dari server.
● PATCH: Memperbarui sebagian sumber daya yang ada di server.
● HEAD: Mengambil header sumber daya tanpa badannya.
● OPTIONS: Mengambil metode HTTP yang didukung oleh sumber daya.
● TRACE: Uji loop-back pesan dijalankan di sepanjang jalur ke sumber daya target.
Dalam konteks kita, metode HTTP POST harus digunakan untuk mengirimkan permintaan unggah berkas. Hal ini disebabkan oleh dukungan metode POST untuk pengiriman data dalam badan permintaan.
Pengkodean Berkas
Metode yang digunakan untuk merepresentasikan data karakter dalam berkas biner disebut pengkodean berkas. Ini memastikan bahwa data dalam berkas dapat disimpan, ditransmisikan, dan ditafsirkan dengan benar di berbagai sistem dan perangkat lunak. Ada banyak pengkodean berkas yang tersedia, termasuk UTF-8 dan ASCII.
Sangat penting untuk memastikan pengkodean berkas kompatibel dengan server dan sistem lain yang memprosesnya saat bekerja dengan unggah berkas dalam API. Secara umum, UTF-8 adalah pengkodean berkas default karena didukung secara luas oleh banyak sistem dan dapat merepresentasikan karakter apa pun.
Batas Ukuran Berkas
Batas ukuran berkas mengacu pada berkas terbesar yang dapat diunggah ke server. Menyesuaikan batas ukuran berkas dapat membantu mencegah serangan penolakan layanan dan memastikan bahwa berkas besar tidak membebani sumber daya server. Batas dapat diatur di tingkat klien dan server.
Browser atau perangkat lunak yang digunakan untuk membuat permintaan unggah berkas dapat memberlakukan batas ukuran berkas di tingkat klien. Browser biasanya memiliki batas ukuran berkas sendiri, yang bervariasi tergantung pada browser dan sistem operasi. Misalnya, beberapa browser membatasi unggah berkas hingga 2GB, sementara yang lain mengizinkan unggahan yang lebih besar. Di sisi lain, batas ukuran berkas dapat diatur di tingkat server dalam konfigurasi server web atau kode aplikasi, yang dapat dikonfigurasi berdasarkan sumber daya server yang tersedia, ukuran berkas yang biasanya diunggah, dan tingkat keamanan yang diinginkan.
Titik akhir API yang menerima unggah berkas harus memiliki batas ukuran berkas untuk mencegah berkas yang terlalu besar diunggah untuk memastikan server tetap stabil dan responsif.
Cara Mengunggah Berkas dalam Permintaan Menggunakan API?

Apidog adalah alat dokumentasi dan pengujian API yang membantu pengembang membuat, mendokumentasikan, men-debug, menguji, dan mengejek API mereka. Tujuannya adalah untuk memfasilitasi pembuatan dan pengelolaan REST API lebih mudah dengan menyediakan antarmuka yang sederhana dan mudah digunakan. Apidog tersedia dalam versi berbasis cloud dan mendukung berbagai bahasa pemrograman dan kerangka kerja API, yang membantu Anda mengunggah berkas dalam API dengan lancar.
Sekarang kita telah membahas dasar-dasar unggah berkas dalam API dan memahami apa itu Apidog, mari kita selami instruksi langkah demi langkah untuk melakukan unggah berkas dengan Apidog.
Langkah 1: Membuat Proyek Baru
Buka aplikasi Apidog dan buat Permintaan baru.

Langkah 2: Pilih Metode Permintaan
Pilih metode permintaan POST dari opsi dropdown, yang mencakup GET, POST, PUT, DELETE, TRACE, HEAD, dll.

Sekarang kita perlu memasukkan URL server yang akan menerima berkas. Dengan bantuan Apidog, kita dapat menguji menggunakan fitur Mock Lokal yang tersedia dan hanya perlu menyediakan subfolder seperti di sini dalam contoh ini; kita mengunggah gambar mobil, jadi kita akan menambahkan /car
ke URL saja.
Meskipun ini tidak terbatas, Anda dapat menggunakan server mana pun yang dapat menerima berkas, yang juga dapat dilakukan dengan bantuan lingkungan Pengujian atau Produksi yang disediakan oleh Apidog.

Langkah 3: Atur Jenis Konten Badan Permintaan
Atur jenis konten badan permintaan ke multipart/form-data selanjutnya. Ini memastikan klien dapat menyertakan berkas dalam badan permintaan. Kita dapat melakukan ini dengan menuju ke bagian Body dan memilih form data, seperti yang ditunjukkan di bawah ini:

Langkah 4: Tambahkan Bidang Berkas ke Badan Permintaan
Untuk memungkinkan klien mengunggah berkas ke API Anda, sertakan bidang berkas dalam badan permintaan. Untuk melakukannya, klik kotak Add a new param, tambahkan nama bidang, dan pilih file dari menu dropdown.

Pada gambar di atas, Anda dapat melihat bahwa Anda dapat mengunggah file segera setelah Anda memilih file dari dropdown.
Langkah 5: Simpan dan Uji Permintaan
Setelah mengonfigurasi permintaan, simpan dan uji dengan alat pengujian Apidog. Untuk melakukannya, klik tombol Send di editor titik akhir. Anda kemudian dapat mengirim permintaan unggah berkas ke titik akhir dan memeriksa apakah server menerima berkas dan data tambahan apa pun yang Anda sertakan dalam badan permintaan. Akhirnya, Anda akan dapat melihat output akhir seperti yang ditunjukkan di bawah ini:
Anda juga dapat melihat output kode Anda dalam berbagai format yang disediakan oleh Apidog, seperti Shell, JavaScript, Java, Swift, Go, PHP, Python, HTTP, C, C#, Ruby, dll., yang dapat dilihat pada gambar di bawah ini:
Selamat! Anda telah berhasil menambahkan Permintaan Unggah Berkas dengan bantuan Apidog.
Kesimpulan
Fungsi unggah berkas sangat penting untuk banyak aplikasi web dan seluler, dan API unggah berkas menjadi semakin umum. Dalam artikel ini, kami telah menunjukkan bahwa saat mengembangkan API yang menerima unggah berkas, sangat penting untuk mempertimbangkan jenis konten, metode HTTP, pengkodean berkas, batas ukuran berkas, dan langkah-langkah keamanan.
Terakhir, dengan bantuan API Apidog yang kuat dan alat perancangan dan pengujian Permintaan, menyiapkan unggah berkas dalam API dan Permintaan mempermudah proses, yang diselesaikan dalam beberapa langkah saja.