Laravel 8 Guzzle HTTP GET & POST Example

Guzzle get post request laravel 8; In this tutorial you will find complete guide on How to use Guzzle HTTP Client GET and POST requests in PHP Laravel 8.

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 8 apps. At that time you can use HTTP guzzle client request in laravel 8. which makes it easy to call external APIs in laravel 8 with get and post request.

So, in this guzzle http GET and POST request laravel 8 tutorial will help to how to use http guzzle http client package for calling external or internal apis in your laravel 8 apps.

Guzzle Http Client GET and POST Requests In Laravel 8

  • Step 1: Install Laravel 8 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 8 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 8 http guzzle client request tutorial, you have learned how to use guzzle HTTP client requests in laravel 8 apps by using laravel guzzle package.

Recommended Laravel Posts

AuthorDevendra Dode

Greetings, I'm Devendra Dode, a full-stack developer, entrepreneur, and the proud owner of Tutsmake.com. My passion lies in crafting informative tutorials and offering valuable tips to assist fellow developers on their coding journey. Within my content, I cover a spectrum of technologies, including PHP, Python, JavaScript, jQuery, Laravel, Livewire, CodeIgniter, Node.js, Express.js, Vue.js, Angular.js, React.js, MySQL, MongoDB, REST APIs, Windows, XAMPP, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL, and Bootstrap. Whether you're starting out or looking for advanced examples, I provide step-by-step guides and practical demonstrations to make your learning experience seamless. Let's explore the diverse realms of coding together.

Leave a Reply

Your email address will not be published. Required fields are marked *