Antarmuka program aplikasi (API) adalah seperangkat definisi dan protokol yang memungkinkan program perangkat lunak untuk berkomunikasi satu sama lain.
Istilah REST adalah singkatan dari transfer status representasional. Ini adalah gaya arsitektur yang terdiri dari serangkaian batasan untuk digunakan saat membuat layanan web.
RESTful API adalah API yang mengikuti arsitektur REST. Biasanya REST API menggunakan protokol HTTP untuk mengirim dan mengambil data dan respons berformat JSON. Anda dapat menggunakan metode HTTP standar untuk membuat, melihat, memperbarui, atau menghapus sumber daya melalui API.
Untuk menguji dan berinteraksi dengan RESTful API, Anda dapat menggunakan pustaka atau alat apa pun yang dapat membuat permintaan HTTP.
Permintaan API terdiri dari empat bagian berbeda:
- Titik akhir. Ini adalah URL yang digunakan klien untuk berkomunikasi dengan server.
- Metode HTTP. Ini memberi tahu server tindakan apa yang ingin dilakukan klien. Metode yang paling umum adalah
GET
POST
PUT
DELETE
danPATCH
- Header. Digunakan untuk meneruskan informasi tambahan antara server dan klien, seperti otorisasi.
- Tubuh. Data dikirim ke server.
Pada artikel ini, kita akan membahas cara menggunakan curl
untuk berinteraksi dengan RESTful API. curl
adalah utilitas baris perintah untuk mentransfer data dari atau ke server jauh. Ini diinstal secara default di macOS dan sebagian besar distribusi Linux.
Opsi Keriting #
Sintaks untuk curl
perintahnya adalah sebagai berikut:
curl [options] [URL...]
Berikut adalah opsi yang akan kami gunakan saat membuat permintaan:
-X
,--request
- Metode HTTP yang akan digunakan.-i
,--include
- Sertakan tajuk tanggapan.-d
,--data
- Data yang akan dikirim.-H
,--header
- Header tambahan untuk dikirim.
DAPATKAN HTTP #
Metode GET meminta sumber daya tertentu dari server.
GET adalah metode default saat membuat permintaan HTTP dengan curl
. Berikut adalah contoh membuat permintaan GET ke JSONPlaceholderAPI ke representasi JSON dari semua posting:
curl https://jsonplaceholder.typicode.com/posts
Untuk memfilter hasil, gunakan parameter kueri:
curl https://jsonplaceholder.typicode.com/posts?userId=1
HTTP POST #
Metode POST digunakan untuk membuat sumber daya di server. Jika sumber daya ada, itu akan diganti.
Perintah berikut membuat permintaan POST menggunakan data yang ditentukan dengan -d
pilihan:
curl -X POST -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts
Jenis badan permintaan ditentukan menggunakan Content-Type
tajuk. Secara default ketika header ini tidak diberikan curl
menggunakan Content-Type: application/x-www-form-urlencoded
.
Untuk mengirim data berformat JSON, setel tipe tubuh ke application/json
:
curl -X POST -H "Content-Type: application/json" \
-d '{"userId": 5, "title": "Hello World", "body": "Post body."}' \
https://jsonplaceholder.typicode.com/posts
HTTP PUT #
Metode PUT digunakan untuk memperbarui atau mengganti sumber daya di server. Ini menggantikan semua data dari sumber daya yang ditentukan dengan data permintaan.
curl -X PUT -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts/5
PATCH HTTP #
Metode PUT digunakan untuk membuat pembaruan sebagian pada sumber daya di server.
curl -X PUT -d "title=Hello Universe" https://jsonplaceholder.typicode.com/posts/5
HTTP DELETE #
Metode DELETE menghapus sumber daya yang ditentukan dari server.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
Otentikasi #
Jika titik akhir API memerlukan autentikasi, Anda harus mendapatkan kunci akses. Jika tidak, server API akan merespons dengan pesan respons “Access Forbidden” atau “Unauthorized”.
Proses mendapatkan kunci akses bergantung pada API yang Anda gunakan. Setelah memiliki token akses, Anda dapat mengirimkannya di header:
curl -X GET -H "Authorization: Bearer {ACCESS_TOKEN}" "https://api.server.io/posts"
Kesimpulan #
Kami telah menunjukkan cara menggunakan curl
untuk membuat permintaan API pengujian. Untuk informasi lebih lanjut tentang curl
, kunjungi halaman Dokumentasi Curl.
Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.