Cara Membuat CRUD Rest API dengan Lumen – Update (Ubah Data ke Database) - Part 5

07 June 2021 23:43 2189 View


Cara Membuat CRUD Rest API dengan Lumen – Update (Ubah ke Database) - Part 5 - Halo semuanya kembali kita akan melanjutkan CRUD dengan Lumen, sebelumnya kita sudah menyelesaikan  Cara Menambah Data ke Database. Sekarang kita akan mencoba membuat REST API untuk ubah data ke dalam database (Update). Silahkan ikuti cara-cara berikut ini :

Membuat Fungsi Update

Sekarang teman-teman cari file BiodataController.php di dalam folder app/Http/Controllers dan silahkan tambahkan fungsi ini, tepat di bawah public function store()

 
public function update(Request $request, $id)

    {

        $validator = Validator::make($request->all(), [

            'nama_lengkap'  => 'required',

            'alamat'        => 'required',

        ]);

        if ($validator->fails()) {

            return response()->json([

                'success'   => false,

                'message'   => 'Semua Inputan Wajib di isi !',

                'data'      => $validator->errors()

            ],401);

        } else {

            $data = Biodata::where('id', $id)->update([

                'nama_lengkap'  => $request->input('nama_lengkap'),

                'alamat'        => $request->input('alamat'),

           ]);

            $biodata = Biodata::where('id', $id)->get();

            if ($data) {

                return response()->json([

                    'success' => true,

                    'message' => 'Data Berhasil di update',

                    'data' => $biodata

                ], 201);

                

            } else {

                return response()->json([

                    'success' => false,

                    'message' => 'biodata Gagal Diupdate!',

                ], 400);

            }

        }

   }

Dari kode update diatas terdapat variabel $id  dimana kita gunakan untuk  mengambil data id dari database yang mau di update, serta kita membungkus sebuah validasi kedalam fungsi update tujuan agar data setiap request tidak boleh kosong, sama halnya sering kita gunakan validasi di framework laravel.

 $biodata = Biodata::where('id', $id)->get();  berfungsi untuk tampilkan respon data yang telah di update ke database untuk responnya dapat dilihat dibawah ini

{
  "success": true,
  "message": "Data Berhasil di update",
  "data": [
    {
      "id": 41,
      "nama_lengkap": "Update Layanan Coding",
      "alamat": "Jln. Koding Adalah Jalan Ninjaku",
      "created_at": "2021-06-04T09:11:55.000000Z",
      "updated_at": "2021-06-07T16:35:06.000000Z"
    }
  ]
}

Untuk Code Validasi

$validator = Validator::make($request->all(), [
            'nama_lengkap'   => 'required',
            'alamat' => 'required',
]);

Jika kita menjalankan di aplikasi  REST API kurang lebih seperti ini respon validasinya.

{
  "success": false,
  "message": "Semua Kolom Wajib Diisi!",
  "data": {
    "nama_lengkap": [
      "The nama lengkap field is required."
    ],
    "alamat": [
      "The alamat field is required."
    ]
  }

Tambahkan Route

Untuk melakukan uji coba, terlebih dahulu kita akan menambahkan baris code di folder routes dan cari file web.php, paste code dibawah ini


$router->post('/biodata/{id}', 'BiodataController@update');

{id} berfungsi untuk mentukan id data yang mau di edit kedalam database lewat url

Uji Coba Update

Jalankan url ini http://localhost:8000/v1/biodata/41

Jika sudah selesai sekarang kita test lewat aplikasi insomnia,  agar data dapat tersimpan kedatabase, jangan lupa ubah ke Method jadi POST lalu send.

Jika berhasil memberikan respon message ”Data Berhasil di Update” sebaliknya jika gagal akan memberikan respon gagal.

Sampai disini pembahasan tentang Cara Membuat CRUD Rest API dengan Lumen bagian update data kedatabase, semoga bermanfaat.

Terimakasih. 


Delisman Hulu

Admin


Rekomondasi
Komentar

Harap berkomentar yang berkaitan dengan topik. Terimakasih