Interoperabilitas - Lumen Rest CRUD (Create, Read, Update, Delete)

 Apa itu CRUD?


CRUD adalah singkatan dari CREATE, READ, UPDATE, DELETE. Ini membentuk perintah database standar yang merupakan dasar CRUD. Banyak pengembang perangkat lunak melihat perintah ini sebagai panduan primitif, paling banter. Itu karena CRUD tidak dikembangkan sebagai cara modern untuk membuat API. Faktanya, CRUD berasal dari catatan database. 

Menurut definisi, CRUD lebih merupakan siklus daripada sistem arsitektur. Di situs web dinamis mana pun, kemungkinan ada beberapa siklus CRUD yang ada. Misalnya, pembeli di situs eCommerce dapat MEMBUAT (CREATE) akun, MEMPERBARUI (UPDATE) informasi akun, dan MENGHAPUS (DELETE) barang dari keranjang belanja. 

Manajer Operasi Gudang yang menggunakan situs yang sama dapat MENCIPTAKAN (CREATE) catatan pengiriman, MENGAMBIL (RETRIEVE) nya sesuai kebutuhan, dan MEMPERBARUI (UPDATE) daftar persediaan. Pengambilan (Retrieve) terkadang diganti dengan BACA (READ) di siklus CRUD. 

 

Prinsip CRUD 

Seperti disebutkan di atas, prinsip siklus CRUD didefinisikan sebagai CREATE, READ / RETRIEVE, UPDATE, dan DELETE: 

  • Prosedur CREATE menghasilkan catatan baru melalui pernyataan INSERT.  
  • Prosedur READ membaca data berdasarkan parameter input. Demikian pula, prosedur RETRIEVE mengambil record berdasarkan parameter input.  
  • Prosedur UPDATE mengubah catatan tanpa menimpanya.  
  • Prosedur DELETE  menghapus jika ditentukan.

Endpoint
Dibawah ini adalah Endpoint yang akan diimplementasikan berdasarkan Restful API Design:







Membuat tabel
Kita akan membuat sebuah tabel baru dengan nama users di database tutorial sebelumnya.
Untuk struktur tablenya sebagai berikut:
- id
- nama
- email
- alamat
- gender


Jalankan Xampp, buka Command Prompt(CMD) lanjut masuk ke direktori folder projek lumennya.
dan ketik php artisan make:migration create_users_table
Enter.
Untuk nama table diharuskan menggunakan kata jamak user->users.
Jika berhasil responnya seperti ini.
Dan diprojek kita ada file dengan nama seperti pada gambar
Silakan buka file tersebut lanjut tambahkan beberapa script didalam functionnya saja, untuk membuat strukur tabel yang akan kita buat.

Selanjutnya kembali ke CMD dan ketik php artisan migrate
jika berhasil akan seperti ini tampilannya

Selanjutnya lihat di database, sekarang ada sebuah tabel users yang telah kita buat tadi.



Membuat Controller dan Model

Buat terlebih dahulu routes terlebih dahulu di file routes\web.php






Lanjut kita membuat Controller dan Model untuk persiapan CRUD kita.
Mauskan script ini dan Buat di file baru dengan nama UsersController di folder app\Http\Controllers\




Lanjut buat file lagi dengan nama User di folder Models\User.php dan masukan script ini.
code ini akan membuat untuk melakukan update field created_at dan updated_at secara otomatis : Line 15





Selanjutnya kita akan melakukan test apakah sudah terhudung dengan table suers dengan cara ke CMD dan masih di direktori projek kita dan ketik php -S localhost:8000 -t public

jika berhasil tampilannya sebagai berikut:
 



Untuk tes buka software Postman dan di url http://localhost:8000/users/ dengan tipe GET.
jika hasilnya seperti ini maka sudah berhasil.



Fungsi Create
Untuk membuat fungsi create, mari kita ikuti langkah-langkah berikut ini:
1. Buka file routes/web.php, dan tambahkan code ini



2.Buka file app/Http/Controllers/UsersController.php dan tambahkan  code function ini:


Buka aplikasi Postman untuk melakukan pengetesan. Dibawah ini adalah tampilan Postman untuk melakukan testing dan berhasil.
Isi seusai dengan kolom/field yang ada ditable users ,tipe nya adalah POST bukan GET




Read All

Buka aplikasi Postman untuk melakukan pengetesan. Ubah POST menjadi GET kembali untuk melihat semua yang ada didatabase.
Dibawah ini adalah tampilan Postman untuk melakukan testing dan berhasil.



Fungsi Read Detail

Untuk membuat fungsi read detail, mari kita ikuti langkah-langkah berikut ini:
Buka file routes/web.php, dan tambahkan code ini:


Buka file app/Http/Controllers/UsersController.php dan tambahkan code ini:
 


Comments

Popular posts from this blog

PHP Lumen Service Docs

Interoperabilitas - Web Service