Okey.. kali ini saya mau sharing tentang cara memanggil API dengan JWT yang kalian punya dengan Guzzle pada project Laravel anda.
Guzzle adalah http client yang bisa digunakan untuk mengirim dan mengambil data dari suatu server. Banyak framework PHP yang menggunakan guzzle seperti Laravel, CodeIgniter tapi Guzzle tetap bisa digunakan di PHP native koq. Okey langsung aja ya yang pertama kalian lakukan adalah.
JSON Web Token (JWT), yang berarti token ini menggunakan JSON (Javascript Object Notation) berbentuk string panjang yang sangat random, lalu token ini memungkinkan kita untuk mengirimkan data yang dapat diverifikasi oleh dua pihak atau lebih.
Untuk lebih lengkapnya kalian bisa baca disini https://codepolitan.com/blog/kenalan-yuk-dengan-json-web-token-jwt
Tapi disini saya tidak akan membahas JWT ya
Installasi Guzzle
Asumsi saya kalian sudah menginstall Laravelnya ya.. kalau belum ya install dulu . Untuk install Guzzle menggunakan composer kalian bisa ketik
composer require guzzlehttp/guzzle
tunggu ya sampai installasi beres.
Menggunakan Guzzle
Cara menggunakannya cukup mudah, buka file controller kalian lalu tambahkan code ini pada bagian use di Laravel.
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
Get Data
Untuk mengambil data dari API, kalian bisa menggunakan method GET.
$client = new Client();
$url = "https://link-api-kalian/data-kalian";
$token = "dataTokenYangKalianDapatKetikaLogin";
$response = $client->get($url, [
'headers'=> [
'Authorization' => 'Bearer '.$token
]
]);
$data = json_decode($response->getBody()->getContents());
dd($data);
Post Data
Untuk mengirim data ke API, kalian bisa menggunakan method POST.
$client = new Client();
$url = "https://link-api-kalian/data-kalian";
$token = "dataTokenYangKalianDapatKetikaLogin";
$params = [
'title' => $request->title,
'date' => $request->date,
'content' => $request->content
];
$response = $client->request("POST", $url, [
'headers'=> [
'Authorization' => 'Bearer '.$token
],
'form_params' => $params
]);
$data = json_decode($response->getBody()->getContents());
dd($data);
Note : Params adalah data yang kalian kirim dari view.
Update Data
Untuk update data ke API, kalian bisa menggunakan method PUT.
$client = new Client();
$url = "https://link-api-kalian/data-kalian/".$request->idArtikel;
$token = "dataTokenYangKalianDapatKetikaLogin";
$params = [
'title' => $request->title,
'date' => $request->date,
'content' => $request->content
];
$response = $client->request("PUT", $url, [
'headers'=> [
'Authorization' => 'Bearer '.$token
],
'form_params' => $params
]);
$data = json_decode($response->getBody()->getContents());
dd($data);
Note : Params adalah data yang kalian kirim dari view.
Hapus Data
Untuk menghapus data ke API, kalian bisa menggunakan method DELETE.
$client = new Client();
$url = "https://link-api-kalian/data-kalian/".$request->idArtikel;
$token = "dataTokenYangKalianDapatKetikaLogin";
$response = $client->delete($url, [
'headers'=> [
'Authorization' => 'Bearer '.$token
]
]);
$data = json_decode($response->getBody()->getContents());
dd($data);
Nah mungkin segitu dulu ya pembahasan tentang Guzzle ini semoga bermanfaat.