Tugas API dan RESTful API
Link github : https://github.com/fikhrihanif/2311533007_FikhriHanif_TugasAPIdanRESTfulAPI
API
API (Application Programming Interface) merupakan sekumpulan aturan dan protokol yang memungkinkan aplikasi berbeda platform untuk berkomunikasi dan saling terintegrasi.
Konsep Dasar API
Komponen Utama API (Request dan Response)
Jenis-Jenis API
RESTful API
REST (Representational State Transfer) adalah arsitektur untuk merancang web services. REST bukan protokol atau standar, melainkan seperangkat prinsip desain.
Struktur URL REST
HTTP Methods dalam REST
HTTP Status Codes
Membuat API dengan Laravel
1. Setup Project
Buat projek baru dengan nama api-project, dengan mengetikkan :
2. Database dan Migration
Ketikkan : php artisan make:migration create_products_table Untuk membuat migrationnya
Isikan file migration dengan :
Jalankan migrate dengan : php artisan migrate
3. Model
Ketikkan : php artisan make:model Product
Isikan file model dengan :
4. API Routes
Buat file baru pada router dengan nama api.php
Isikan file router dengan :
5. API Controller
Buat API Controller dengan mengetikkan: php artisan make:controller ProductController --api
Isikan file dengan :
6. API Resources (Data Transformation)
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.
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 ini
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 ini
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