Membuat API Code Igniter

Konten [Tampil]

 


Untuk membuat API dengan CodeIgniter (CI), Anda dapat mengikuti langkah-langkah berikut:


1. Instalasi CodeIgniter:

Unduh dan instal CodeIgniter.


2. Konfigurasi Database:

Atur konfigurasi database pada file application/config/database.php.


3. Buat Controller API:

Buat controller API di direktori application/controllers dengan fungsi-fungsi untuk menangani operasi CRUD. Contoh:


php

Copy code

// application/controllers/ApiController.php


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


class ApiController extends CI_Controller {


    public function __construct()

    {

        parent::__construct();

        $this->load->model('ApiModel'); // Gantilah dengan nama model yang sesuai

    }


    public function index()

    {

        $data = $this->ApiModel->getAll();

        $this->output->set_content_type('application/json')->set_output(json_encode($data));

    }


    public function show($id)

    {

        $data = $this->ApiModel->getById($id);

        $this->output->set_content_type('application/json')->set_output(json_encode($data));

    }


    public function create()

    {

        $input = json_decode(file_get_contents('php://input'), true);

        $this->ApiModel->create($input);

        $this->output->set_status_header(201)->set_output(json_encode(['message' => 'Data created']));

    }


    public function update($id)

    {

        $input = json_decode(file_get_contents('php://input'), true);

        $this->ApiModel->update($id, $input);

        $this->output->set_output(json_encode(['message' => 'Data updated']));

    }


    public function delete($id)

    {

        $this->ApiModel->delete($id);

        $this->output->set_output(json_encode(['message' => 'Data deleted']));

    }

}

4. Buat Model:

Buat model untuk menangani operasi database. Contoh:


php

Copy code

// application/models/ApiModel.php


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


class ApiModel extends CI_Model {


    public function getAll()

    {

        return $this->db->get('nama_tabel')->result();

    }


    public function getById($id)

    {

        return $this->db->get_where('nama_tabel', ['id' => $id])->row();

    }


    public function create($data)

    {

        $this->db->insert('nama_tabel', $data);

    }


    public function update($id, $data)

    {

        $this->db->where('id', $id)->update('nama_tabel', $data);

    }


    public function delete($id)

    {

        $this->db->delete('nama_tabel', ['id' => $id]);

    }

}

5. Konfigurasi Routing:

Tambahkan rute di file application/config/routes.php.


php

Copy code

$route['api'] = 'ApiController/index';

$route['api/(:num)'] = 'ApiController/show/$1';

$route['api/create'] = 'ApiController/create';

$route['api/update/(:num)'] = 'ApiController/update/$1';

$route['api/delete/(:num)'] = 'ApiController/delete/$1';

6. Uji API:

Gunakan alat seperti Postman untuk menguji endpoint API yang telah Anda buat.


Pastikan untuk menyesuaikan nama tabel, nama model, dan endpoint sesuai dengan kebutuhan aplikasi Anda.

Previous Post Next Post