Tutorial Lumen #6 : Membuat REST API [Insert Data]

Tutorial Lumen #6 : Membuat REST API [Insert Data] – Halo semua, selamat datang di kodingin, situs belajar pemrograman website dan internet marketing. Tutorial yang lagi di bahas di kodingin saat ini yaitu mengenai bahasa program PHP dengan framework lumen.

Insert Data untuk membuat REST API di Lumen

Pada tutorial ke – 6 ini akan membahas mengenai cara insert data MySQL untuk membuat REST API di Lumen. Tutorial insert data MySQL ini lanjutan tutorial mengenai cara menampilkan data untuk membuat REST API di lumen.

Masih ingat pada tutorial menampilkan data lumen dengan Elequent ORM dan database MySQL.

Di bawah ini skema tabel dari tutorial sebelumnya :

Yuk langsung saja kita buka projek lumennya. Mulai dari membuat routing baru ya.

Membuat Route di Lumen

Untuk melakukan proses insert data menggunakan method POST. Tambahkan kode berikut untuk membuat routing insert data.

routes/web.php

Route di atas mengarah ke method store di dalam class controller PostController.

Membuat Controller

Pada halaman routing mengarahkan ke controller PostController pada method store(). Maka sekarang kita buat controller PostController dan method store.

Berikut ini kode nya.

app/Http/Controller/PostController.php

Perhatikan kode diatas, untuk menggunakan request dari input maupun data payload json maka harus mendefinisikan parameter request, sama halnya ketika melakukan insert data dengan form. Hal ini di tandai pada kode di line 11.

Selanjutnya terdapat validasi untuk memeriksa sebuah method, method yang di ijinkan adalah method POST dan ketika tidak menggunakan method POST data tidak akan di proses.

Jika sudah benar bahwa request yang di minta menggunakan method POST akan di lakukan validasi terhadap atribut field yang di kirim. Hal ini di tandai pada line 16 sampai dengan 19.

Setelah itu di ambil field yang di kirim menggunakan perintah input, hal ini terdapat pada kode 21 dan 22.

Sebagai tambahan, aternatif menggunakan perintah :

Dapat di gantikan dengan penulisan kode :

Lanjut ya, Kemudian jika proses validasi berjasil akan di simpan dalam variable array dengan nama variable $data. Dan variable data tersebut di simpan ke dalam database MySQL dengan Lumen.

Apabila proses berhasil akan mengeluarkan kode 200 dan jika gagal mengeluarkan kode 404, serta filed message dan data dimana respon tersebut di tampung pada variable $out.

Selanjutnya kita perlu memberikan ijin di model mengenai field yang boleh di insert di databbase MySQL.

Konfiigurasi Model

Silahkan buat model dengan nama Post.php di folder app. Namun jika sebelumnya sudah mengikuti tutorial membuat REST API di lumen maka tidak perlu buat lagi hanya menambahkan kode.

Berikut ini kode konfigurasi di Model.

app/Post.php

Perhatikan kode di atas, kode yang terdapat pada line 19 – 21 digunakan untuk memberikan ijin insert data ke dalam database MySQL.

Uji Coba Insert Data

Jika semua sudah di tuliskan kode nya seperti di atas, baik di routes, controller maupun model kita lanjut ke uji coba.

Silahkan buka URL localhost:8000/post/insert menggunakan postman sebagai bantuan.

Silahkan pilih method POST , dan klik pada bagian body. Setelah itu di bagian body silahkan pilih dengan metode insert JSON.

Maka hasilnya :

Tutorial Lumen #6 : Membuat REST API [Insert Data]

Sekarang silahkan lihat di tabel database POST, jika data sudah berhasil masuk maka kita sudah berhasil membuat insert data REST API di lumen.

Jika belum silahkan ulangi dan lakukan dengan teliti.

Selesai, sekian tutorial insert data REST API menggunakan Lumen. Semoga Bermanfaat.

2 Comments

  1. Kalau begini kenapa ya ?

    Sorry, the page you are looking for could not be found.
    (1/1) NotFoundHttpException
    in RoutesRequests.php line 229

  2. Yang benar kodenya :

    isMethod(‘post’)) {

    $this->validate($request, [
    ‘title’ => ‘required’,
    ‘body’ => ‘required’
    ]);
    $title = $request->input(‘title’);
    $body = $request->input(‘body’);

    $data = [
    ‘slug’ => Str::slug($title, “-“),
    ‘title’ => $title,
    ‘body’ => $body
    ];

    $insert = Post::create($data);

    if ($insert) {
    $out = [
    “message” => “Success inserting data”,
    “results” => $data,
    “code” => 200
    ];
    } else {
    $out = [
    “message” => “Failed inserting data”,
    “results” => $data,
    “code” => 404,
    ];
    }

    return response()->json($out, $out[‘code’]);
    }
    }
    }

Leave a Reply