Aliffia Humairah - 2311531004
API (Application Programming Interface) merupakan sekumpulan aturan dan protokol yang memungkinkan aplikasi berbeda platform untuk berkomunikasi dan saling terintegrasi.
API (Application Programming Interface) adalah media untuk komunikasi antara aplikasi yang berbeda. Dalam era digital saat ini, hampir semua aplikasi modern menggunakan API untuk:
Agar lebih memahami konsep dasar API berikut analogi API pemesanan makanan pada restoran.
Berikut ini merupakan ilustrasi komponen utama API
REST (Representational State Transfer) adalah arsitektur untuk merancang web services. REST bukan protokol atau standar, melainkan seperangkat prinsip desain.
Keterangan :
Keterangan :
Keterangan :
Keterangan :
Keterangan :
php artisan make:model Product
php artisan make:controller ProductController --api
Fitur yang memungkinkan untuk mentransformasi model data atau collection menjadi format JSON yang konsisten dan mudah dikustomisasi untuk API response. API Resource berfungsi sebagai layer transformasi antara model Eloquent dan JSON response yang dikirim ke client sehingga dapat digunakan untuk Mengontrol format output JSON, Menyembunyikan field sensitive, Menambahkan field computed dan Membuat response yang konsisten.
php artisan make:resource ProductResource
Ubah method index dan show menggunakan API Resource pada ProductController.php dan jangan lupa untuk import ProductResource menggunakan use.
Silahkan ubah method index dan show menggunakan API Resource
php artisan make:request StoreProductRequest
Implementasikan pada method store
Tambahkan kode program berikut pada app/Exceptions/Handler.php untuk menanggani Exception.
1. Buat Folder baru terlebih dahulu dengan memasukkan code seperti dibawah ini, bisa pada commandprompt, cmder, ataupun terminal.
2. Setelah itu jalankan project dengan php artisan serve
3. Membuat tabel baru dengan memasukkan kode php artisan make:migration create_product_table dan ubah kode schema pada file yang sudah ada dengan kode berikut ini pada file tersebut
4. Untuk melihat apakah file migration tersebut sudah dibuat maka jalankan perintah php artisan migrate dan jika berhasil hasilnya akan seperti dibawah ini
5. Selanjutnya membuat file product yang berada didalam folder models dengan menjalakan perintah php artisan make:model Product dan masukkan kode berikut ini pada file tersebut
6. Untuk menyambungkan dengan API buat file api.php pada folder routes dan masukkan kode berikut, pada kode ini bisa menggunakan route yang pertama saja atau menggunakan route yang manual
7. Selanjutnya membuat Controller yang akan mengelola logika bisnis untuk setiap endpoint API dengan menjalankan perintah php artisan make:controller ProductController dan masukkan kode berikut ini
8. Kemudian membuat API Resources yang nantinya digunakan untuk mentransformasi model data atau collection menjadi format JSON yang konsisten dan mudah dikustomisasi untuk API response. Langkahnya dengan menjalankan perintah php artisan make:resource ProductResource dan masukkan kode berikut ini pada file yang telah dibuat
9. Selanjutnya, edit bagian index dan show menggunakan API Resource pada ProductController.php dan tambahkan import ProductResource menggunakan use.
10. Kemudian pada bagian file app.php di folder bootstrap tambah kan api agar Laravel tahu bahwa file routes/api.php harus di-load sebagai route API. Jika tidak ditambahkan, maka route di routes/api.php tidak akan aktif/terdaftar – dan saat dicoba untuk diakses /api/products, maka hasilnya akan 404 Not Found.
11. Buat Form Request Validation yang digunakan untuk memisahkan dan mengorganisir logika validasi data input dari controller dengan menjalankan perintah php artisan make:request StoreProductRequest dan masukkan kode berikut ke dalam file.
12. Setelah itu buat folder baru didalam app dengan nama Exception dan jalankan perintah php artisan make:exception Handler yang akan digunakan untuk menangkap dan menangani semua exception/kesalahan yang terjadi di aplikasi secara terpusat, masukkan kode berikut pada file handler
13. Kemudian untuk melakukan pengujian API ini download aplikasi postman dari website resminya seperti berikut.
14. Setelah berhasil diinstal pilih bagian "Send and API request". Setelah itu pada terminal jalan kan perintah php artisan serve untuk mengambil url dan mengcopy nya pada bagian send and api request tadi dan tambahkan route yang sudah kita buat dan gunakan methode GET untuk mengambil data dan jika berhasil akan muncul hasilnya seperti dibawah ini
Untuk 200 OK itu maksudnya adalah Request berhasil dan jika 400 Bad Request maka Request tidak valid.
15. Selanjutnya, coba menggunakan method POST yang digunakan untuk menambahkan atau membuat data baru dan tambahkan data seperti dibawah ini
Dan jika berhasil tampilannya akan seperti dibawah ini. Untuk 201 Created artinya Resource berhasil dibuat
16. Contoh lainnya, setelah menambahkan data tersebut kita coba menggunakan GET kembali dengan menambahkan id setelah products pada url dan hasilnya akan seperti ini
17. Selanjutnya menggunakan method PUT untuk mengupdate seluruh resource, bisa dilihat dibawah ini dilakukan perubahan data dari yang sebelumnya. Dan hasil dari perubahan datanya akan seperti
18. Selanjutnya method DELETE untuk menghapus data yang telah dibuat, dibawah ini pada url ditambahkan id berapa data yang akan dihapus dan hasil seperti dibawah ini