img-news
Programming
Menggunakan Guzzle Untuk API dengan JWT di Laravel
Oleh Administrator 25 Oktober 2022

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 smiley

 

Installasi Guzzle

Asumsi saya kalian sudah menginstall Laravelnya ya.. kalau belum ya install dulu laugh. 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.