Cara Menggunakan CURL untuk Mengirim Permintaan API

Pada artikel ini, kita akan membahas cara menggunakan curl untuk berinteraksi dengan RESTful API. curl adalah utilitas baris perintah yang dapat digunakan untuk mengirim permintaan ke API.

Permintaan API terdiri dari empat bagian berbeda:

  • Titik akhir. Ini adalah URL yang kami kirimkan permintaan.
  • Metode HTTP. Tindakan yang ingin kami lakukan. Metode yang paling umum adalah GET POST PUT DELETE dan PATCH
  • Header. Header yang ingin kami kirimkan bersama dengan permintaan kami, mis. header otorisasi.
  • Tubuh. Data yang ingin kami kirim ke api.


curl Sintaks

Sintaks untuk curl perintahnya adalah:


curl [options] [URL...]

Opsi yang akan kami bahas dalam posting ini adalah:

  • -X atau --request - Metode HTTP yang akan digunakan
  • -i atau --include - Sertakan tajuk tanggapan
  • -d atau --data - Data yang akan dikirim ke API
  • -H atau --header - Setiap header tambahan yang akan dikirim


HTTP GET

Metode GET digunakan untuk mengambil sumber daya dari server. Di curl, metode GET adalah metode default, jadi kita tidak perlu menentukannya.


Contoh:

curl https://jsonplaceholder.typicode.com/posts

DAPATKAN Dengan Parameter Kueri

Kami juga dapat mengirimkan parameter kueri bersama dengan curl DAPATKAN permintaan.

Contoh:

curl https://jsonplaceholder.typicode.com/posts?userId=5

HTTP POST

Metode POST digunakan untuk membuat sumber daya di server.


Untuk mengirim curl Permintaan POST kami menggunakan opsi -X POST.

Data Formulir POST

Contoh:

curl -X POST -d 'userId=5&title=Post Title&body=Post content.' https://jsonplaceholder.typicode.com/posts

Secara default, curl menggunakan Content-Type: application/x-www-form-urlencoded sebagai Content-Type header, jadi kami tidak perlu menentukannya saat mengirim data formulir.

POST JSON

Untuk MENGIRIMKAN JSON dengan curl kita harus menentukan Content-Type sebagai application/json.


Contoh:

curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts


HTTP PUT

Metode PUT digunakan untuk memperbarui atau menggantikan sumber daya di server. Ini menggantikan semua data dari sumber yang ditentukan dengan data permintaan yang disediakan.

catatan:Untuk permintaan PUT, kami harus menyediakan semua data di badan permintaan.

Untuk mengirim curl Permintaan PUT kami menggunakan opsi -X PUT.

Contoh:


curl -X PUT -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'New Post Title', 'body': 'New post content.'}'
https://jsonplaceholder.typicode.com/posts/5

Permintaan PUT di atas akan menggantikan posting yang kita buat sebelumnya dengan 'Judul posting baru' dan 'Badan posting baru'.



HTTP PATCH

Metode PATCH digunakan untuk membuat pembaruan parsial ke sumber daya di server.

catatan:Untuk permintaan PATCH, kami tidak harus menyediakan semua data. Kami hanya mengirim data yang ingin kami perbarui.

Untuk mengirim curl Permintaan PATCH kami menggunakan opsi -X PATCH.

Contoh:


curl -X PATCH -H 'Content-Type: application/json'
-d '{'userId': 5, 'body': 'Updated post content.'}'
https://jsonplaceholder.typicode.com/posts/5

Perhatikan bagaimana kami hanya mengirimkan badan dengan 'Konten postingan yang diperbarui' saat kami melakukan pembaruan sebagian.



HAPUS HTTP

Metode DELETE digunakan untuk menghapus sumber daya tertentu dari server.

Untuk mengirim curl HAPUS permintaan kami menggunakan opsi -X DELETE.

curl -X DELETE https://jsonplaceholder.typicode.com/posts/5 catatan:Metode DELETE tidak memiliki isi.

Autentikasi

Terkadang titik akhir API memiliki akses terbatas dan hanya akan melayani permintaan untuk pengguna yang diautentikasi dan diberi otorisasi. Untuk permintaan ini, kami harus memberikan token akses di header permintaan.

Untuk mengirim curl header, kami menggunakan: -H pilihan.

Permintaan berikut mengirimkan permintaan POST dengan token pembawa di header:

curl -X POST https://some-web-url/api/v1/users -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Bearer {ACCESS_TOKEN}' -H 'cache-control: no-cache' -d '{ 'username' : 'myusername', 'email' : 'myusername@gmail.com', 'password' : 'Passw0rd123!' }'

Kesimpulan

Dalam posting ini kita belajar bagaimana mengirim permintaan HTTP (GET, POST, PUT, PATCH dan DELETE) ke API menggunakan perintah curl.