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