Halo teman-teman YukCoding, kali ini kita akan mencoba membuat REST API sederhana menggunakan Slim Microframework. REST api memungkinkan kita melakukan pertukaran data melalui http, data yang dikirim / diterima merepresentasikan suatu resource.
Baca Artikel : Mengenal RESTful Web Services
Sebelumnya kita butuh composer terinstal di komputer kita. Selain itu, untuk menguji aplikasi kita, kita juga butuh postman / http requester atau aplikasi lain untuk melakukan request ke REST api.
Install Slim
Oke langsung saja, pertama kita siapkan folder untuk aplikasi kita. Setelah kita masuk kedalam folder aplikasi kita, kita install slim menggunakan composer.
composer require slim/slim
Baca juga : Cara Install Composer di Linux dan Windows
Kemudian buat file index.php
Di terminal anda, jalankan php -S 0.0.0.0:3000 lalu kita cek pada postman di alamat localhost:3000 dengan method GET, apakah aplikasi kita berjalan.
Oke, selanjutnya kita akan mulai membuat resource books, disini nanti kita akan membuat sejumlah routing / url sebagai berikut :
GET | /books | Akan menampilkan daftar buku |
GET | /books/{id} | Akan menampilkan salah satu buku berdasarkan id |
POST | /books | Akan menambahkan buku baru |
PUT | /books/{id} | Akan mengubah info buku berdasarkan id |
DELETE | /books/{id} | Akan menghapus buku berdasarkan id |
Koneksi Database
Sebelumnya, kita buat terlebih dahulu class untuk koneksi ke MySQL
Setelah itu kita registerkan koneksi database kita sebagai container, tambahkan kode dibawah ini setelah line 7 pada file index.php :
Jangan lupa juga untuk membuat database dan tabel books dengan field id(integer), title(varchar), isbn(varchar)
Membuat Resource Route Books
Get /books
Di route ini kita akan menampilkan daftar semua buku yang ada.
Kita akan menggunakan route group, yang berguna mengelompokkan route untuk resource books, jadi semua route dalam group ini otomatis mendapat awalan /books. Untuk lebih jelasnya bisa dicek disini https://www.slimframework.com/docs/v3/objects/router.html#route-groups
Kita cek dengan membuka url localhost:3000/books pada postman
Get /books/{id}
Di route ini kita akan menampilkan salah satu books berdasarkan id.
Kita cek dengan membuka url localhost:3000/books/1 pada postman.
Post /books
Kita tambahkan data books baru dengan method POST pada url /books
Untuk mengetesnya di postman, jangan lupa untuk mengubah type request dari get ke post, masukkan data books dengan json pada request body, misal
{“title”:”wiro sableng”,”isbn”:”WR23873687″}
Jika sukses, dia akan merespons dengan objek yang baru saja kita input, tapi kali ini dengan id, balasan jika berhasil :
{"id": 8,"title": "wiro sableng","isbn": "WR23873687"}
Put /books/{id}
Selanjutnya adalah method untuk mengupdate data, kita akan menggunakan method put
Lalu kita coba test di postman, pilih method put, dengan url localhost:3000/books/8 jangan lupa inputkan request body berupa data yang ingin kita timpakan ke id tersebut, misal
{“title”:”wiro sabyan”,”isbn”:”0202020220″}
Delete /{id}
Sesuai namanya, kita akan menghapus data menggunakan method ini, setelah menghapus data kita akan menampilkan return berupa status / pesan data telah dihapus
Gunakan method delete pada postman dengan url localhost/books/8. Setelah menjalankan method delete, kita bisa cek semua data kita, apakah data yang kita hapus benar-benar terhapus dengan mengunjungi method get /books.
Semoga bermanfaat. Happy coding 🙂