Selamat siang kali ini kita akan membuat RESTful API CRUD sederhana dengan PHP
Apa itu API?
API(Aplication Programming
Interface) adalah sebuah web service yang berguna untuk menjembatani aplikasi
dengan database, API tidak tergantung pada bahasa pemrograman tertentu, dengan
API kita bisa berkomunikasi dengan aplikasi yang berbeda pemrogramanya,
Misalnya Aplikasi A menggunakan bahasa PHP dan Aplikasi B menggunakan bahasa
Java kita bisa mengakses informasi informasi aplikasi A untuk ditampilkan di
aplikasi B dengan bantuan API, jadi kita tidak harus tau dulu database nya apa
struktur table nya bagaimana tinggal menggunakan API yang sudah disediakan oleh
developer pembuat API di Aplikasi itu. untuk menggunakan API kita harus melihat
dulu dokumentasi dari si pembuat API nya, kita tidak bisa berkreatif membuat
cara sendiri jadi misalnya untuk mengakses data apa saja yang dapat diakses
bagaimana cara mengaksesnya, apakah bersifat publik atau harus menggunakan token
semua tergantung si pembuat API nya jadi kita harus membaca dulu
dokumentasinya. format yang dipakai biasanya berbentuk XML atau JSON tetapi
yang paling sering kita temui berbentuk JSON (Javascript Object Notation).
contoh API yang biasa dipakai untuk login adalah facebook misalnya pada situs
stackoverflow kita bisa login lewat facebook atau google, API ini tidak
tergantung pada satu bahasa pemrograman misalnya facebook menggunakan bahasa
PHP dan stackoverflow menggunakan javascript bisa terhubung dan untuk
databasenya stackoverflow tidak harus mempunyai database yang sama digunakan
oleh facebook. metode yang biasa digunakan dalam API ini biasanya GET, POST,
PUT, PATCH, DELETE dll.
Jenis-Jenis API
API ada dua jenis yaitu SOAP dan
REST tetapi yang paling populer adalah REST API
Softwre untuk membuat API
untuk membuat API yang anda perlukan hanya text editor, browser, plugin
JSON viewer untuk melihat tampilan JSON agar lebih mudah dibaca, POSTMAN untuk
mengetest API nya
Database :
Langkah Pertama membuat koneksi ke database
<?phpdefine('HOSTNAME', 'localhost');define('USERNAME', 'root');define('PASSWORD', '');define('DB_NAME', 'cruds');$koneksi = new mysqli(HOSTNAME, USERNAME, PASSWORD, DB_NAME)ordie(mysqli_errno());
Selanjutnya kita akan membuat CREAT
<?phpinclude_once('connection.php');$npm = addslashes(htmlentities($_POST['npm']));$nama = addslashes(htmlentities($_POST['nama']));$prodi = addslashes(htmlentities($_POST['prodi']));$fakultas = addslashes(htmlentities($_POST['fakultas']));$insert = "INSERT INTO mahasiswa(npm,nama,prodi,fakultas) VALUES ('$npm','$nama','$prodi','$fakultas')";$exeinsert = mysqli_query($koneksi, $insert);$response = array();if ($exeinsert) {$response['code'] = 1;$response['message'] = "Success! Data Inserted";} else {$response['code'] = 0;$response['message'] = "Failed! Data Not Inserted";}echo json_encode($response);
Untuk mengetest nya bisa menggunakan POSTMAN atau melalui browser tetapi kalau melalui browser agak ribet karena harus memasukan url yang panjang
Kemudian kita akan membuat VIEW yaitu API untuk menampilkan data dari program
CRUD nya
<?phpinclude_once('connection.php');$query = "SELECT * FROM mahasiswa";$result = mysqli_query($koneksi, $query);$array_data = array();while ($baris = mysqli_fetch_assoc($result)) {$array_data[] = $baris;}echo json_encode($array_data);
selanjutnya untuk UPDATE seperti dibawah
<?phprequire_once('connection.php');$npm = addslashes(htmlentities($_POST['npm']));$nama = addslashes(htmlentities($_POST['nama']));$prodi = addslashes(htmlentities($_POST['prodi']));$fakultas = addslashes(htmlentities($_POST['fakultas']));$getdata = mysqli_query($koneksi, "SELECT * FROM mahasiswa WHERE npm='$npm'");$rows = mysqli_num_rows($getdata);$update = "UPDATE mahasiswa SET nama='$nama',prodi='$prodi',fakultas='$fakultas' WHERE npm='$npm'";$exequery = mysqli_query($koneksi, $update);$respose = array();if ($rows > 0) {if ($exequery) {$respose['code'] = 1;$respose['message'] = "Updated Success";} else {$respose['code'] = 0;$respose['message'] = "Updated Failed";}} else {$respose['code'] = 0;$respose['message'] = "Updated Failed, Not data selected";}echo json_encode($respose);
Terakhir untuk DELETE seperti berikut:
<?phpinclude_once('connection.php');$npm = addslashes(htmlentities($_POST['npm']));$getdata = mysqli_query($koneksi, "SELECT * FROM mahasiswa WHEREnpm = '$npm'");$rows = mysqli_num_rows($getdata);$delete = "DELETE FROM mahasiswa WHERE npm = '$npm'";$exedelete = mysqli_query($koneksi, $delete);$respose = array();if ($rows > 0) {if ($exedelete) {$respose['code'] = 1;$respose['message'] = "Deleted Success";} else {$respose['code'] = 0;$respose['message'] = "Failed to Delete";}} else {$respose['code'] = 0;$respose['message'] = "Failed to Delete, data Not Found";}echo json_encode($respose);
Selesai sudah sudah API CRUD nya Create Read
Update Delete sudah lengkap
untuk menyembunyikan susunan file pada folder kita bisa menggunakan .htaccess
isinya hanya seperti ini Options -Indexes karena kita tidak memiliki file index
jadi file-file yang ada dalam folder kita akan ditampilkan semua kalau API nya
sudah kita rilis atau diupload ke server akan sangat berbahaya karena hacker
akan mudah melihat susunan file kita selain dengan htaccess kita juga bisa
membuat file index yang isi nya access denied misalnya
Tidak ada komentar