Cara Membuat REST API di Framework CodeIgniter #2 : Input Data ke Database - Halo teman-teman semuanya, melanjutkan artikel sebelumnya yaitu installasi dan persiapan membuat REST API di Framework CodeIgniter.
Pada artikel kali ini kita semua akan belajar bagaimana cara memasukkan data atau input data ke dalam Database menggunakan REST API dengan menggunakan method POST.
Karena kita nanti akan belajar memasukkan data menggukan REST API, tentu saja kita tidak akan menggunakan browser sebagai alat debug aplikasi kita. Kita akan menggunakan yang namanya Postman. Silahkan kalian unduh Postman terlebih dahulu sebelum kita melanjutkan tutorial ini.
Langsung saja kita mulai teman-teman semuanya, sekarang buatlah sebuah file baru dengan nama Siswa.php
di dalam folder application/controllers dan silahkan kalian masukkan kode dibawah 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');
}
/**
* 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()
)
);
}
}
}
Kode diatas merupakan sebuah file controller dengan Class Siswa dan di dalam Class Siswa tersebut kita membuat sebuah fungsi yang bernama simpan.
Sekarang coba kalian perhatikan kode berikut ini :
public function __construct() {
parent::__construct();
//load model
$this->load->model('M_siswa');
//load library form validasi
$this->load->library('form_validation');
}
Fungsi construct
merupakan fungsi yang akan selalu dijalankan pertama kali saat Class itu di panggil, dalam contoh diatas kita membuat sebuah Class yang bernama siswa.
Maka ketika kita menjalankan Class tersebut, maka secara otomatis kita memanggil sebuah Model dengan nama M_siswa
dan juga kita memanggil library yang bernama form_validation
.
Sekarang silahkan buat file baru dengan nama M_siswa.php
di dalam folder application/models dan silahkan masukkan kode dibawah ini :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class M_siswa extends CI_Model {
/**
* 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 menguji REST API kita untuk memasukkan data ke dalam database. Silahkan buka Postman kalian dan masukkan http://localhost/api-codeigniter/index.php/siswa/simpan dan silahkan kalian menggunakan Method POST.
Coba sekarang kalian klik tombol Send, maka kurang lebih akan ada notifikasi:
{
"success": false,
"message": "<p>The Nama Siswa field is required.</p>\n<p>The Alamat Siswa field is required.</p>\n"
}
Atau kalian akan menemukan error seperti gambar berikut ini :
Notifikasi error diatas di hasilkan dari form validation CodeIgniter, karena kita belum memasukkan nama siswa dan alamat.
Sekarang kita coba dengan menambahkan form data dan ketika kita klik send, maka kurang lebih akan ada pesan sukses seperti berikut ini :
{
"success": true,
"message": "Data Berhasil Disimpan!"
}
Atau kalian akan menemukan gambar sukses seperti berikut ini :
Jika kita cek di tabel siswa, maka data tersebut berhasil ditambahkan, kurang lebih seperti gambar dibawah ini :
Sampai disini pembahasan tentang cara memasukkan data ke dalam database menggunakan REST API di Framework CodeIgniter. Terima kasih