Cara menggunakan membuat api dengan php

Cara menggunakan membuat api dengan php

Langkah pertama dalam pembuatan CRUD Rest API Webservice adalah membuat database, saya asumsikan anda sudah mengetahui dalam pembuatan database berikut adalah script untuk pembuatan database.

nama database : dbrest
nama tabel : produk

CREATE TABLE `produk` (
  `id` int(6) unsigned NOT NULL AUTO_INCREMENT,
  `nama_produk` varchar(30) DEFAULT NULL,
  `harga` int(50) DEFAULT NULL,
  `tipe_produk` varchar(30) DEFAULT NULL,
  `stok` int(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Tambahkan beberapa data tabel tersebut :

INSERT INTO `produk`(`nama_produk`, `harga`, `tipe_produk`, `stok`) VALUES ('Super 25',30000,'Baju',10);

INSERT INTO `produk`(`nama_produk`, `harga`, `tipe_produk`, `stok`) VALUES ('Jeas Ver',40000,'Baju',10);

INSERT INTO `produk`(`nama_produk`, `harga`, `tipe_produk`, `stok`) VALUES ('Uyta',50000,'Baju',10);

INSERT INTO `produk`(`nama_produk`, `harga`, `tipe_produk`, `stok`) VALUES ('Vander',60000,'Baju',10);

Setelah menyelesaikan pembuatan database dan tabel selanjutnya kita akan membuat API untuk proses simpan data,ubah data dan hapus data, berikut adalah struktur folder dan file yang akan kita buat :

langkah awal kita akan membuat project dengan nama dbrest didalam project tersebut terdiri dari beberapa folder yang dibutuhkan yaitu :

  1. api digunakan untuk menyimpan file api
  2. config digunakan untuk menyimpan file koneksi
  3. readapi, digunakan untuk membaca api pada web browser didalam folder ini ada folder layout yang digunakan untuk menyimpan file css.

    Membuat Koneksi Database

    Sebelum membuat api kita terlebih akan membuat file koneksi.php yang tersimpan dalam folder config file ini sangat penting karena akan digunakan untuk melakukan koneksi database, berikut adalah coding dari file koneksi.php

    <?php
    define('HOST','localhost');

    define('USER','root');

    define('DB','dbrest');

    define('PASS','');

    $conn = new mysqli(HOST,USER,PASS,DB) or die('Connetion error to the database');


    Membuat API CRUD

    seperti kita lihat pada gambar diatas didalam folder api terdiri dari beberapa file yang akan dibuat yaitu :

    1. api_tampil.php
    2. api_tambah.php
    3. api_edit.php
    4. api_ubah.php
    5. api_hapus.php

    api_tampil.php

    api_tampil.php digunakan untuk menampilkan data dalam bentuk json, berikut adalah coding dari file tersebut :

    <?php
    require_once('../config/koneksi.php');
    $myArray = array();
    if ($result = mysqli_query($conn, "SELECT * FROM produk ORDER BY id ASC")) {
        	while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
            	$myArray[] = $row;
        	}
    	mysqli_close($conn);
        	echo json_encode($myArray);
    }
    

    api_edit.php

    api_edit.php digunakan untuk memilih data yang akan kita ubah, berikut adalah coding dari file tersebut:

    <?php
    require_once('../config/koneksi.php');
    
    if (isset($_GET['id'])) {
        $id = $_GET['id'];
        $SQL = $conn->prepare("SELECT * FROM produk WHERE id=? ORDER BY id ASC");
        $SQL->bind_param("i", $id);
        $SQL->execute();
        $hasil = $SQL->get_result();
        $myArray = array();
        while ($users = $hasil->fetch_array(MYSQLI_ASSOC)) {
            $myArray = $users;
        }
        echo json_encode($myArray);
    } else {
        echo "data tidak ditemukan";
    }
    

    api_ubah.php

    api_ubah.php digunakan untuk mengubah data, berikut adalah coding dari file tersebut:

    <?php
    require_once('../config/koneksi.php');
    
    if (isset($_POST['id'])) {
        $id                 = $_POST['id'];
        $nama_produk        = $_POST['nama_produk'];
        $tipe_produk        = $_POST['tipe_produk'];
        $harga              = $_POST['harga'];
        $stok               = $_POST['stok'];
        $sql = $conn->prepare("UPDATE produk SET nama_produk=?, tipe_produk=?, harga=?, stok=? WHERE id=?");
        $sql->bind_param('ssddd', $nama_produk, $tipe_produk, $harga, $stok, $id);
        $sql->execute();
        if ($sql) {
            //echo json_encode(array('RESPONSE' => 'SUCCESS'));
            header("location:../readapi/tampil.php");
        } else {
            echo json_encode(array('RESPONSE' => 'FAILED'));
        }
    } else {
        echo "GAGAL";
    }
    
    

    api_hapus.php

    api_hapus.php digunakan untuk menghapus data, berikut adalah coding dari file tersebut:

    <?php
    require_once('../config/koneksi.php');
    
    if (isset($_GET['id'])) {
        $id  = $_GET['id'];
        $sql = $conn->prepare("DELETE FROM produk WHERE id=?");
        $sql->bind_param('i', $id);
        $sql->execute();
        if ($sql) {
            echo json_encode(array('RESPONSE' => 'SUCCESS'));
            //header("location:../readapi/tampil.php");
        } else {
            echo json_encode(array('RESPONSE' => 'FAILED'));
        }
    } else {
        echo "GAGAL";
    }
    
    

    api_tambah.php

    api_tambah.php digunakan untuk menambah data, berikut adalah coding dari file tersebut:

    
    <?php
    require_once('../config/koneksi.php');
    
    if (isset($_POST['nama_produk']) && isset($_POST['tipe_produk']) && isset($_POST['harga']) && isset($_POST['stok'])) {
    	$nama_produk   	= $_POST['nama_produk'];
    	$tipe_produk 	= $_POST['tipe_produk'];
    	$harga 			= $_POST['harga'];
    	$stok 			= $_POST['stok'];
    	$sql = $conn->prepare("INSERT INTO produk (nama_produk, tipe_produk, harga, stok) VALUES (?, ?, ?, ?)");
    	$sql->bind_param('ssdd', $nama_produk, $tipe_produk, $harga, $stok);
    	$sql->execute();
    	if ($sql) {
    		//echo json_encode(array('RESPONSE' => 'SUCCESS'));
    		header("location:../readapi/tampil.php");
    	} else {
    		echo json_encode(array('RESPONSE' => 'FAILED'));
    	}
    } else {
    	echo "GAGAL";
    }
    
    

    Pembuatan API CRUD telah selesai berikut nya akan dilanjutkan pada artikel berikutnya yaitu pada link berikut :

    Selain itu anda juga dapat membaca :

    Apa itu API di PHP?

    API adalah singkatan dari Application Programming Interface. API sendiri merupakan interface yang dapat menghubungkan satu aplikasi dengan aplikasi lainnya.

    Bagaimana Cara Membuat REST API?

    Untuk membuat rest api silahkan ikuti langkah berikut:.
    Siapkan database. Buatah terlebih dahulu database MysQL di phpmyadmin dan tambahkan tabel karyawan. Strukur tabel karyawan. ... .
    Siapkan file koneksi php. Seperti halnya membuat crud dengan php yang membutuhkan file koneksi. ... .
    Buatlah file rest api..

    REST API tidak dapat menyimpan status apa pun terkait client?

    REST API tidak boleh menyimpan keadaan (state) apapun terkait client. Seluruh state harus tetap disimpan di client. Artinya, tidak ada session di REST API. Permintaan yang dilakukan client harus mengandung informasi yang jelas.

    Apa yang dimaksud dengan REST API?

    API RESTful adalah antarmuka yang digunakan oleh dua sistem komputer untuk bertukar informasi secara aman melalui internet. Sebagian besar aplikasi bisnis harus berkomunikasi dengan aplikasi internal dan pihak ketiga lainnya untuk melakukan berbagai tugas.