Cara Membuat REST API memakai framework CI(CodeIgniter)

Assalamu'alaikum wr.wb

Hai semuanya balik lagi sama saya nih, kali ini saya akan menshare bagaimana cara membuat REST API dengan framework CI(CodeIgniter)

REST (REpresentational State Transfer) adalah suatu arsitektur metode komunikasi yang sering diterapkan dalam pengembangan layanan berbasis web. Arsitektur REST, yang umumnya dijalankan via HTTP (Hypertext Transfer Protocol), melibatkan proses pembacaan laman web tertentu yang memuat sebuah file XML atau JSON. File inilah yang menguraikan dan memuat konten yang hendak disajikan. Setelah melalui sebuah proses definisi tertentu, konsumen akan bisa mengakses antarmuka aplikasi yang dimaksudkan.

Kekhasan REST terletak pada interaksi antara klien dan server yang difasilitasi oleh sejumlah tipe operasional (verba) dan Universal Resource Identifiers (URIs) yang unik bagi tiap-tiap sumberdaya. Masing-masing verba – GET, POST, PUT dan DELETE – memiliki makna operasional khusus untuk menghindari ambiguitas. pada postingann kali ini kita akan membuat resfull menggunakan framework codeigniter


Langkah 1 (Instalasi & konfigurasi CodeIgniter)

  1. silahkan download codeigniter di www.codeigniter.com
  2. kemudian setelah di download extract file codeigniter-3.1.9 zip
  3. setelah itu rename folder codeigniter nya menjadi rest_server, nah kalo saya me rename dengan kata API
  4. Silahkan kalian copy jika sudah di rename ke folder C:/xampp/htdocs
  5. silahkan buka browser anda dan masukkan http://localhost/API/ pada web address


Setelah itu jika sudah tampil seperti gambar di atas lalu buka file config.php. File ini terletak di file application/config/config.php, setelah itu ada sedikit yang di tambahkan seperi gambar di bawah ini



Langkah 2 (Membuat Database & Tabel)

Di sini kita membua database dengan phpmyadmin dengan nama databasenya "akademik" dan nama tabelnya "jurusan dan mahasiswa" jika sudah di buat hasilnya akan seperti di bawah ini







Langkah 3 (Insert Data Dummy)

Nah setelah itu kita insert data dummy seperti gambar di bawah ini
Tabel Jurusan

Tabel Mahasiswa



Jika sudah kita akan menkonfigurasi untuk koneksi ke database, nah file nya itu ada di folder application/config/database.php, nah ini 




Langkah selanjutnya adalah meload library database, ini adalah library utama yang memerintah untuk mengelola database, nah silahkan buka file autoload.php ada di dalam folder application/config/autoload.php





Langkah 4 (Instalasi codeigniter-Restserver)

  1. silahkah download di https://github.com/chriskacerguis/codeigniter-restserver
  2. lalu jika sudah selesai di download buka folder lalu extract file tersebut
  3. jika sudah copy folder application ke folder utama project kita 
  4. jika ada permintaan me replace maka pilih yes saja 
  5. jika sudah tampilannya akan seperti gambar di bawah ini


Selanjutnya saya akan membuat controller baru dengan nama Mahasiswa.php. Ini adalah resource dari web service yang menangani request pengelolaan data dari table mahasiswa, nah ini contoh scriptnya :

<?php

require APPPATH  . '/libraries/REST_Controller.php';
require APPPATH  . '/libraries/Format.php';

use Restserver\libraries\REST_Controller;

class mahasiswa extends REST_Controller{
function __construct($config='rest'){
parent::__construct($config);
}

//show data mahasiswa(menampilkan data mahasiswa)
function index_get(){
$nim = $this->get('nim');
if ($nim == '') {
$mahasiswa = $this->db->get('mahasiswa')->result();
}else{
$this->db->where('nim', $nim);
$mahasiswa = $this->db->get('mahasiswa')->result();
}
$this->response($mahasiswa, 200);
}

//insert new data mahasiswa
function index_post() {
        $data = array(
                    'nim'           => $this->post('nim'),
                    'nama'          => $this->post('nama'),
                    'id_jurusan'    => $this->post('id_jurusan'),
                    'alamat'        => $this->post('alamat'));
        $insert = $this->db->insert('mahasiswa', $data);
        if ($insert) {
            $this->response($data, 200);
        } else {
            $this->response(array('status' => 'fail', 502));
        }
    }

    // update data mahasiswa
    function index_put() {
        $nim = $this->put('nim');
        $data = array(
                    'nim'       => $this->put('nim'),
                    'nama'      => $this->put('nama'),
                    'id_jurusan'=> $this->put('id_jurusan'),
                    'alamat'    => $this->put('alamat'));
        $this->db->where('nim', $nim);
        $update = $this->db->update('mahasiswa', $data);
        if ($update) {
            $this->response($data, 200);
        } else {
            $this->response(array('status' => 'fail', 502));
        }
    }

    // delete mahasiswa
    function index_delete() {
        $nim = $this->delete('nim');
        $this->db->where('nim', $nim);
        $delete = $this->db->delete('mahasiswa');
        if ($delete) {
            $this->response(array('status' => 'success'), 201);
        } else {
            $this->response(array('status' => 'fail', 502));
        }
    }

}

Setelah selesai membuat controllers buka browser anda lalu ketik http://localhost/API/index.php/Mahasiswa dan tampilan akhirnya akan menjadi seperti di bawah ini



Pengujian menggunakan plugin Postman

Di tahap ini kita akan menampilkan data dummy yang tadi telah di buat melalui postman, copy URL http://localhost/API/index.php/Mahasiswa dan tampilannya seperti di bawah ini



Nah sekarang kita akan mencoba dengan method POST, setelah itu kalian tinggal send saja, setelah itu datanya akan masuk, untuk mengecek datanya sudah ada apa belum kalian bisa menggunakan methode GET  seperti di atas







Sekarang kita coba update data dengan method PUT, dan di sini saya cuma merubah alamatnya saja


 Jika sudah kita SEND dan hasilnya akan seperti di bawah ini



Selanjutnya kita akan menghapus data dengan menggunakan parameter nim saja

setelah itu sama aja dengan yang tadi tinggal SEND aja, jka dia berhasil akan menampilkan seperti ini





Nah sekarang sudah selesai pengerjaanya silahkan di coba ya 
Sekian dari saya dan nantikan update terbaru dari blog saya, byeeeeeeeee
wassalamu'alaikum wr.wb













Komentar

Postingan populer dari blog ini

Mengenal Framework CodeIgniter dan bootstrap

contoh studi kasus basis data