ahmadajah03 Tue Apr 2020 1 year ago

Contoh Custom Middleware pada Laravel 7 atau 6

Artikel ini difokuskan pada cara membuat middleware khusus di laravel 7/6. jika Anda ingin melihat contoh laravel 7/6 membuat middleware Anda sendiri maka Anda adalah tempat yang tepat Anda akan belajar cara menggunakan middleware custom di laravel 7/6. saya jelaskan tentang laravel 7/6 make middleware kustom. Mari kita lihat contoh di bawah ini bagaimana membuat custom middleware di laravel 7/6.

Middleware digunakan untuk memfilter permintaan HTTP di aplikasi web Anda. Salah satu syarat dasar aplikasi web apa pun adalah filter permintaan HTTP, jadi kita harus membuatnya dengan baik misalnya membuat auth middleware. middleware auth selalu memeriksa apakah Anda akan lalu Anda dapat mengakses halaman tersebut. Dalam aplikasi laravel 6 mereka menyediakan beberapa middleware web standar, tetapi dalam tutorial ini kita akan membuat middleware kustom untuk aplikasi laravel 6.

Dalam contoh ini, saya akan membuat "checkType" middleware dan saya akan menggunakan hanya pada route, ketika mereka akan menjalankan route Anda harus melewati "type" parameter dengan nilai "2" lalu dan kemudian Anda dapat mengakses permintaan tersebut seperti di bawah ini contoh tautan:

http://localhost:8000/check-md?type=2 

Seperti tautan di atas, jika Anda akan lulus maka Anda valid untuk middleware ini, tetapi jika Anda melewati nilai lain atau Anda lupa untuk lulus maka itu memberi Anda kesalahan json dari middleware custom. Jadi mari kita ikuti langkah di bawah ini untuk membuat validasi khusus di aplikasi laravel 6.

Langkah 1: Buat Custom Validasi 

 

Pada langkah pertama, kita harus membuat validasi khusus menggunakan perintah laravel 6. Jadi mari kita buka terminal Anda dan jalankan perintah di bawah ini:

php artisan make: middleware CheckType

Setelah menjalankan perintah di atas Anda akan menemukan satu file di lokasi di bawah ini dan Anda harus menulis kode berikut:

app/Http/Middleware/CheckType.php

<?php


namespace App\Http\Middleware; App\Http\Middleware;


use Closure; Closure;


class CheckType CheckType
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if ($request->type != 2) {
            return response()->json('Please enter valid type');
        }


        return $next($request);
    }
}

Setelah berhasil menulis logika middleware maka kita harus mendaftarkan middleware ini pada file kernel. Jadi mari kita tambahkan saja cara ini:

app/Http/Kernel.php

<?php


namespace App\Http;


use Illuminate\Foundation\Http\Kernel as HttpKernel;


class Kernel extends HttpKernel
{
    ....


    /**
     * The application's route middleware.
     *
     * These middleware may be assigned to groups or used individually.
     *
     * @var array
     */
    protected $routeMiddleware = [
        ....
        'checkType' => \App\Http\Middleware\CheckType::class,
    ];
}

Langkah 2: Tambahkan Route

Sekarang kita akan membuat route sederhana menggunakan middleware CheckType. Jadi mari kita buka file routes.php dan tambahkan rute itu.

routes/web.php

Route::get("check-md", "HomeController@checkMD")->middleware("checkType");

Langkah 3: Tambahkan Metode Controller

Sekarang akhirnya kita harus menambahkan metode controller baru checkMD () di Home Controller Anda. Jadi mari kita tambahkan metode checkMD () pada file HomeController.php.

app/Http/Controllers/HomeController.php

 

<?php


namespace App\Http\Controllers;


use Illuminate\Http\Request;


class HomeController extends Controller
{
    public function checkMD()
    {
     dd('You are in Controller Method');
    }
}

Oke, sekarang kami siap menjalankan contoh kami, sehingga Anda dapat menjalankan tautan di bawah dan memeriksa cara kerja helper custom.

http://localhost:8000/check-md?type=2

http://localhost:8000/check-md?type=1

Saya harap ini dapat membantu Anda ...

laravel 7 laravel 6 laravel custom middleware