GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan Curl untuk membuat permintaan REST API

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 dan PATCH
  • 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.


Linux
  1. Mengotomatiskan Permintaan Web Menggunakan Curl?

  2. Pemeriksaan Kesehatan Halaman Web Menggunakan Curl?

  3. Menggunakan WGET untuk menjalankan cronjob PHP

  1. Menggunakan mod_cluster di Apache

  2. Menggunakan ikal untuk mengirim email

  3. Menggunakan indeks untuk membuat grep lebih cepat?

  1. Menggunakan Wildcard Di Gnu Membuat Aturan Pola?

  2. Bagaimana cara mengarahkan ulang http ke https menggunakan .htaccess?

  3. Menggunakan output dari perintah sebelumnya di bash