Cara Membuat REST API di Framework CodeIgniter #3 : Menampilkan Data dari Database


Cara Membuat REST API di Framework CodeIgniter #3 : Menampilkan Data dari Database

Cara Membuat REST API di Framework CodeIgniter #3 : Menampilkan Data dari Database - Halo teman-teman semuanya, di artikel sebelumnya kita sudah berhasil Memasukkan Data atau Input Data ke Dalam Database menggunakan REST API di Framework CodeIgniter.

Pada artikel kali ini kita semua akan belajar bagaimana cara menampilkan data dari database mnggunakan REST API di Framework CodeIgniter dan menggunakan Method GET.

Langsung saja, silahkan kalian buka Siswa.php di dalam folder application/controllers dan silahkan kalian tambahkan fungsi dibawah ini :

/**
    * Get All Data
    */
    public function index()
    {
        $siswa = $this->M_siswa->get_all();

        $response = array();

        foreach($siswa->result() as $hasil) {

            $response[] = array(
                'nama_siswa' => $hasil->nama_siswa,
                'alamat'     => $hasil->alamat         
            );

        }
        
        header('Content-Type: application/json');
        echo json_encode(
            array(
                'success' => true,
                'message' => 'Get All Data Siswa',
                'data'    => $response  
            )
        );

    }

Kode diatas digukana untuk menampilkan data dari database dengan format data berupa JSON. Jika file Siswa.php ditulis dengan lengkap kurang lebih seperti berikut ini :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Siswa extends CI_Controller {

    public function __construct() {
        parent::__construct();

        //load model
        $this->load->model('M_siswa');

        //load library form validasi
        $this->load->library('form_validation');
    }

    /**
     * Get All Data
     */
    public function index()
    {
        $siswa = $this->M_siswa->get_all();

        $response = array();

        foreach($siswa->result() as $hasil) {

            $response[] = array(
                'nama_siswa' => $hasil->nama_siswa,
                'alamat'     => $hasil->alamat         
            );

        }
        
        header('Content-Type: application/json');
        echo json_encode(
            array(
                'success' => true,
                'message' => 'Get All Data Siswa',
                'data'    => $response  
            )
        );

    }

    /**
     * Simpan Data
     */
    public function simpan()
    {
        //set validasi
        $this->form_validation->set_rules('nama_siswa','Nama Siswa','required');
        $this->form_validation->set_rules('alamat','Alamat Siswa','required');

        if($this->form_validation->run() == TRUE){

            $data = array(
                'nama_siswa' => $this->input->post("nama_siswa"),
                'alamat'     => $this->input->post("alamat"),
            );

            $simpan = $this->M_siswa->simpan_siswa($data);

            if($simpan) {

                header('Content-Type: application/json');
                echo json_encode(
                    array(
                        'success' => true,
                        'message' => 'Data Berhasil Disimpan!'
                    )
                );

            } else {

                header('Content-Type: application/json');
                echo json_encode(
                    array(
                        'success' => false,
                        'message' => 'Data Gagal Disimpan!'
                    )
                );
            }

        }else{

            header('Content-Type: application/json');
            echo json_encode(
                array(
                    'success'    => false,
                    'message'    => validation_errors()
                )
            );

        }

    }

}

Sekarang kalian juga tambahkan fungsi di bawah ini ke dalam M_siswa.php di dalam folder application/models

		/**
    * Get All Data Siswa
    */
    public function get_all()
    {
        $this->db->select("*");
        $this->db->from("tbl_siswa");
        $this->db->order_by("id_siswa", "DESC");
        return $this->db->get();
    }

Kode diatas digunakan untuk nemapilkan data siswa berdasarkan ID siswa yang terbaru. Jika file M_siswa.php ditulis dengan lengkap, kurang lebih seperti berikut ini :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class M_siswa extends CI_Model {

    /**
     * Get All Data Siswa
     */
    public function get_all()
    {
        $this->db->select("*");
        $this->db->from("tbl_siswa");
        $this->db->order_by("id_siswa", "DESC");
        return $this->db->get();
    }

    /**
     * Simpan Data Siswa
     */
    public function simpan_siswa($dara)
    {
        $simpan = $this->db->insert("tbl_siswa", $data);

        if($simpan) {
            return TRUE;
        } else {
            return FALSE;
        }

    }

}

Sekarang kita bisa mencoba aplikasi kita menggunakan Postman, silahkan ketik di Postman http://localhost/api-codeigniter/index.php/siswa dan jangan lupa Method yang digunakan adalah GET.

Jika berhasil, kalian akan mendapatkan kurang lebih seperti gambar dibawah ini :


Atau hasil response berupa format JSON seperti berikut ini :

{
    "success": true,
    "message": "Get All Data Siswa",
    "data": [
        {
            "nama_siswa": "Yudi Purwanto",
            "alamat": "Kediri, Jawa Timur"
        },
        {
            "nama_siswa": "Cahyadi Triyansyah",
            "alamat": "Banjarnegara, Jawa Tengah"
        },
        {
            "nama_siswa": "Rizqi Maulanan",
            "alamat": "Pekalongan, Jawa Tengah"
        },
        {
            "nama_siswa": "Kurnia Andi Nugoro",
            "alamat": "Demak, Jawa Tengah"
        },
        {
            "nama_siswa": "Fika Ridaul Maulayya",
            "alamat": "Jombang, Jawa Timur"
        }
    ]
}

Mungkin sampai disini pembahasan tentang cara menampilkan data dengan REST API di Framework CodeIgniter. Terima Kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami