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.