Rumahweb Journal
Banner - Tutorial Laravel Rest API

Tutorial Laravel Rest API Untuk Pemula

Laravel Rest API adalah solusi populer untuk membangun backend yang cepat, efisien, dan mudah digunakan. Dalam artikel ini, kami akan memberikan tutorial tentang cara membuat Rest API menggunakan Laravel yang kami buat untuk programmer pemula yang baru mulai belajar Laravel.

Untuk mempermudah proses pertukaran data di Laravel, pengguaan Rest API menjadi solusi paling mudah dan cepat. Dalam hal ini, Rest API berfungsi sebagai sumber data yang dapat diakses oleh berbagai aplikasi client tanpa harus terhubung langsung ke database server.

Apa itu Rest API?

REST API adalah kepanjangan dari Representational State Transfer. Secara definisi, REST API adalah arsitektur pertukaran data menggunakan protokol HTTP untuk mengakses, mengambil, dan menggunakan data tersebut dari server API secara langsung.

Rest API memiliki beberapa metode transaksi data, seperti GET untuk mengambil informasi data, POST untuk menciptakan data baru, PUT untuk memperbarui data, dan DELETE untuk menghapus data.

Artikel lebih detail tentang penjelasan Rest API dan Restful API bisa Anda pelajari pada artikel berikut: Apa Itu REST API?

Tutorial Laravel REST API

Dalam tutorial laravel rest api ini, kami akan membuat halaman artikel sederhana yang terdiri dari judul, nama penulis, dan isi blog. Sebelum memulai, pastikan Anda sudah menyiapkan beberapa hal berikut:

Promo Hosting Murah Rumahweb

  • Install Composer
  • Web server lokal seperti XAMPP atau Laragon
  • PHP versi 7.4 atau versi yang lebih baru

Dalam tutorial ini, kami akan menggunakan XAMPP sebagai web servernya. Setelah semua permintaan sistem telah lengkap, Anda bisa ikuti panduan berikut untuk memulainya.

Step 1. Install Composer

Langkah pertama yang perlu Anda lakukan adalah mengunduh composer dan menginstalnya di komputer yang digunakan.

Panduannya bisa Anda pelajari melalui artikel berikut: Cara Install Composer

Step 2. Buat project Laravel

Kami akan beri nama blog-api. Silahkan masuk ke folder htdocs XAMPP dan jalankan perintah berikut melalui terminal:

# composer create-project --prefer-dist laravel/laravel blog-api
# cd blog-api

1. Setting Database

Setelah project Laravel berhasil dibuat, selanjutnya Anda dapat membuat database di XAMPP terlebih dahulu. Panduan membuat database di XAMPP bisa Anda pelajari pada artikel berikut: membuat database di xampp

Setelah itu, Anda bisa melakukan setting koneksi database pada file .env. Langkahnya, silahkan masuk ke folder root laravel yang Anda install, setelah itu edit file .env seperti berikut:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=nama_database
DB_USERNAME=username
DB_PASSWORD=password

2. Buat Model dan Migrate DB

Buat model laravel dan migrate database menggunakan perintah berikut:

# php artisan make:model Post -m
# php artisan migrate

Apabila proses migrate telah selesai, silahkan Anda edit file berikut untuk menambahkan Title, Author, Article:

database/migrations/xxxxx_create_posts_table.php

Tambahkan:

public function up()
{
    Schema::create('posts', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->string('author');
        $table->text('article');
        $table->timestamps();
    });
}
Buat Model dan Migrate DB

3. Buat Controller untuk CRUD

Langkah selanjutnya, silahkan buat controller untuk proses CRUD dengan menjalankan perintah berikut:

# php artisan make:controller PostController

Jika proses pembuatan controller telah selesai, silahkan Anda cari dan edit file: app/Http/Controllers/PostController.php

Tambahkan:

namespace App\Http\Controllers;

use App\Models\Post;
use Illuminate\Http\Request;

class PostController extends Controller
{
    // Get all posts
    public function index()
    {
        return Post::all();
    }

    // Create a new post
    public function store(Request $request)
    {
        $request->validate([
            'title' => 'required|string|max:255',
            'author' => 'required|string|max:255',
            'article' => 'required',
        ]);

        return Post::create($request->all());
    }

    // Get a single post by ID
    public function show($id)
    {
        return Post::find($id);
    }

    // Update a post by ID
    public function update(Request $request, $id)
    {
        $post = Post::find($id);

        $request->validate([
            'title' => 'string|max:255',
            'author' => 'string|max:255',
            'article' => 'nullable',
        ]);

        $post->update($request->all());

        return $post;
    }

    // Delete a post by ID
    public function destroy($id)
    {
        return Post::destroy($id);
    }
}

4.  Edit api.php

Langkah selanjutnya, silahkan edit file api.php yang bisa Anda temukan di folder routes. Silahkan tambahkan script berikut:

use App\Http\Controllers\PostController;

Route::get('/posts', [PostController::class, 'index']);
Route::post('/posts', [PostController::class, 'store']); 
Route::get('/posts/{id}', [PostController::class, 'show']); 
Route::put('/posts/{id}', [PostController::class, 'update']); 
Route::delete('/posts/{id}', [PostController::class, 'destroy']); 
Edit api.php

5. Membuat Rest API di Laravel

Langkah terakhir dalam pembuatan Rest API Laravel ini, silahkan Anda edit file: app/Models/Post.php. Tambahkan script berikut:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    // kolom-kolom yang boleh diisi secara massal
    protected $fillable = ['title', 'author', 'article'];

}
Membuat Rest API di Laravel

Kembali ke terminal, silahkan lakukan clear cache dan jalankan laravel menggunakan perintah:

# php artisan optimize
# php artisan serve

Step 3. Pengujian Rest API Laravel

Pada bagian testing ini Anda bisa menggunakan Postman, salah satu alat pengujian API yang dapat diunduh melalui situs resminya secara gratis.

1. Tambah data artikel

Jalankan Postman dengan target/endpoint => http://localhost:8000/api/posts 

Pastikan settingannya dibuat sama seperti screenshot dibawah, yaitu:

Method: POST
URL: endpoint (sesuai lokasi laravel)
Body: raw => JSON
Isi Body:

{
    "title": "Judul disini",
    "author": "Nama penulis",
    "article": "Isi artikel"
}
Tambah data artikel

Pada bagian isi body, silahkan sesuaikan judul dan lainnya, kemudian klik tombol Send untuk mengirimkan datanya ke dalam database.

Jika responnya adalah 201 Created, silahkan akses tautan websiteya di browser. Anda akan menemukan hasilnya seperti berikut:

contoh laravel rest api yang telah berhasil berjalan

Untuk memastikan datanya tersimpan di database, Anda bisa cek langsung ke phpMyAdmin. Jika koneksi databasenya berhasil terhubung dengan script .ENV milik laravel, maka akan tampil seperti dibawah ini:

masuk ke database phpmyadmin

2. Perbarui data artikel

Anda bisa set method Postman menjadi PUT. Selanjutnya edit isi dari body JSON kemudian klik Send.

Perbedaannya disini adalah Anda harus menambahkan {id} dari artikel yang sudah dibuat dan ID ini dapat dilihat dari hasil testing diawal pengujian.

Target/endpoint dari API post: http://localhost:8000/api/posts/{id} , misalnya ingin perbarui postingan dengan id 1, maka target/endpoint menjadi => http://localhost:8000/api/posts/1

isi body: 

Method: POST
URL: endpoint (sesuai lokasi laravel)
Body: raw => JSON
Isi Body:

{
    "title": "Belajar API Laravel dengan Mudah",
    "author": "Fredric Lesomar dan teman-teman",
    "article": "Siapa bilang membuat API Laravel itu rumit? semakin pesatnya informasi teknologi, membuat kita dapat dengan mudah belajar apa saja seperti, API di Laravel."
}
Perbarui data artikel

Jika sudah mengupdate deskripsi, silahkan klik Send maka hasilnya seperti gambar diatas dan setiap pembaruan dapat Anda cek melalui browser atau database.

3. Hapus data artikel

Hapus data artikel yang telah dibuat sebelumnya, silahkan Anda gunakan metode DELETE dengan target/endpoint => http://localhost:8000/api/posts/{id} 

Bagaimana, mudah bukan membuat Laravel REST API? Selain data artikel seperti di atas, Anda juga dapat membuat beberapa hal seperti update informasi dan lain-lain tanpa harus login ke websitenya. Namun, agar proses pertukaran data menjadi lebih aman, sebaiknya tambahkan authentication seperti Sanctum.

Demikian artikel kami tentang Laravel REST API untuk pemula dari Rumahweb Indonesia, semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 0 / 5. Vote count: 0

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

VPS Alibaba

Fredric Lesomar

I am an ameteur programer and cybersecurity enthusiast. Love much, mother Python language, machine learning and You!

banner pop up - Pindah Hosting ke Rumahweb