Laravel 9 guzzle get post request; In this tutorial, we will learn How to use Guzzle HTTP Client GET and POST requests in PHP Laravel 9.
POST requests in Guzzle are sent with an application/x-www-form-urlencoded Content-Type header if POST fields are present but no files are being sent in the POST. If files are specified in the POST request, then the Content-Type header will become multipart/form-data.
Sometimes, you need to call external or internal APIs in your laravel 9 apps. At that time you can use HTTP guzzle client request in laravel 9. which makes it easy to call external APIs in laravel 9 with get and post request.
Guzzle HTTP GET & POST Request in Laravel 9
Use the following steps to use guzzle HTTP client get and post request in laravel 9:
- Step 1: Install Laravel 9 App
- Step 2: Database Configuration
- Step 3: Install guzzlehttp/guzzle Package
- Step 4: Make Routes
- Step 5: Create Controllers By Artisan
- Step 6: Run Development Server
Step 1: Install Laravel 9 App
First of all, Open your terminal and run the following command to download or install laravel fresh new setup:
composer create-project --prefer-dist laravel/laravel blog
Step 2: Database Configuration
After that, open “.env” file and update the database name, username, and password in the env file:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=Enter_Your_Database_Name DB_USERNAME=Enter_Your_Database_Username DB_PASSWORD=Enter_Your_Database_Password
Step 3: Install guzzlehttp/guzzle Package
In this step, Install guzzlehttp/guzzle via composer package. So open your terminal and run the following command:
composer require guzzlehttp/guzzle
Step 4: Make Routes
Next step, Navigate to “routes/web.php” file and add the following routes into your web.php file:
use App\Http\Controllers\PostGuzzleController; Route::get('posts',[PostGuzzleController::class,'index']); Route::get('posts/store', [PostGuzzleController::class, 'store' ]);
Step 5: Create Controllers by Artisan
Next step, open your terminal and run the following commands:
php artisan make:controller PostGuzzleController
This command will create PostGuzzleController by the artisan command.
After that, Navigate to app/http/controller and open PostGuzzleController.php.Then update the following methods into your controller file:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; class PostGuzzleController extends Controller { public function index() { $response = Http::get('http://jsonplaceholder.typicode.com/posts'); $jsonData = $response->json(); dd($jsonData); } public function store() { $response = Http::post('http://jsonplaceholder.typicode.com/posts', [ 'title' => 'This is test from tutsmake.com', 'body' => 'This is test from tutsmake.com as body', ]); dd($response->successful()); } }
Step 6: Run Development Server
In this step, use the following php artisan serve command to start your server locally:
php artisan serve
After that, call the above method with parameters on postman by using the following urls:
http://127.0.0.1:8000/posts http://127.0.0.1:8000/posts/store
Conclusion
Laravel 9 HTTP guzzle client request tutorial, you have learned how to use guzzle HTTP client requests in laravel 9 apps by using laravel guzzle package.
Thank you so much.