Pada kesempatan kali ini saya akan membagikan tutorial yang berjudul “Cara Membuat Rest API dengan Codeigniter “.
Sebelum melakukan coding, sedikit saya jelaskan definisinya seperti dibawah ini.
REST (REpresentational State Transfer) merupakan standar arsitektur komunikasi berbasis web yang sering diterapkan dalam pengembangan layanan berbasis web. Umumnya menggunakan HTTP (Hypertext Transfer Protocol) sebagai protocol untuk komunikasi data. REST pertama kali diperkenalkan oleh Roy Fielding pada tahun 2000.
Pada arsitektur REST, REST server menyediakan resources (sumber daya/data) dan REST client mengakses dan menampilkan resource tersebut untuk penggunaan selanjutnya. Setiap resource diidentifikasi oleh URIs (Universal Resource Identifiers) atau global ID. Resource tersebut direpresentasikan dalam bentuk format teks, JSON atau XML. Pada umumnya formatnya menggunakan JSON dan XML.
Perbedaan REST dengan RESTfull API
Dalam tulisan diatas telah dibahas sedikit tentang REST. Dalam REST terdapat juga RESTful API itu merupakan salah satu model implementasi dari web service. RESTful API merupakan implementasi dari API. RESTful itu protokol/aturan untuk melakukan REST. Jadi RESTful itu udah pasti REST, namun REST belum tentu bisa disebut RESTful. Walaupun terlihat sama tetapi mereka berbeda.
API adalah singkatan dari Application Programming Interface. Merupakan suatu “penghubung” yang memungkinkan suatu aplikasi untuk berinteraksi dengan aplikasi lainnya dan berbagi data.
(https://en.wikipedia.org/wiki/Application_programming_interface)
Output dari RESTful ada XML dan JSON.
JSON (JavaScript Object Notation), beberapa ciri-ciri JSON.
XML (Extensible Markup Language), beberapa ciri-ciri XML
Apa aja sih tool yang dibutuhkan untuk membuat RESTFull API ?
Berikut ini tool yang dibutuhkan untuk membuat RESTFull API :
1. Pastikan PC / Laptop kamu sudah ada web server (XAMPP/WAMP/LAMPP)
2. Pastikan kamu sudah download Codeigniter ( saya menggunakan codeigniter 3.x ). Jika belum maka kamu harus download codeigniternya kemudian ektrak ke folder htdocs dan rename folder codeigniter menjadi restfull-api. Download Codigniter.
3. Download rest tool yang telah saya sediakan disini.
4. Setelah kamu download rest tool nya copy file rest.php ke dalam folder project restfull-api/application/config.
5. Kemudian copy file Format.php dan REST_Controller.php ke folder restfull-api/application/libraries.
Setelah tool - tool tersebut disiapkan semua, kemudian kita buat databasenya terlebih dahulu. Dalam pembuatan database nya saya menggunakan terminal / cmd jika di windows.
1. Pertama Buka terminal dan ketik mysql -h 127.0.0.1 -u root . Jika di windows dan menggunakan wb server XAMPP => buka cmd ketik cd ../ (enter) cd ../ (enter) kemudian keetik cd xampp/mysql/bin , kemudian ketik lagi mysql -u root .
2. Kemudian buat database restfull_api dengan perintah CREATE DATABASE restfull_api ; (enter)
3. Gunakan database yang telah kita buat dengan perintah use restfull_api; (enter).
4. Kemudian buat table users dengan perintah seprti dibawah ini :
CREATE TABLE users (
id int(11) not null primary key auto_increment,
username varchar(50) not null,
fullname varchar(50) not null,
email varchar(100) not null,
password varchar(255) not null,
level char(1) not null
);
5. Insert data ke table users
INSERT INTO users (username,fullname,email,password,level) VALUES
('jhon','Jhon Due','jhondue@gmail.com','jhon1234','1'),
('mary','Mary Jane','maryjane@gmail.com','mary1234','2'),
('bob','Bob Marley','bobmarley@gmail.com','bob1234','3') ;
Tahap pembuatan database dan table nya telah selesai. Kemudian tahap berikutnya adalah coding pada codeigniternya. Silahkan ikuti langkah - langkah berikut ini.
1. Edit config database yang terdapat pada restfull-api/application/config/database.php . Edit menjadi seperti berikut :
$active_group = 'default';$query_builder = TRUE;$db['default'] = array('dsn' => '','hostname' => 'localhost','username' => 'root','password' => '','database' => 'restfull_api','dbdriver' => 'mysqli','dbprefix' => '','pconnect' => FALSE,'db_debug' => (ENVIRONMENT !== 'production'),'cache_on' => FALSE,'cachedir' => '','char_set' => 'utf8','dbcollat' => 'utf8_general_ci','swap_pre' => '','encrypt' => FALSE,'compress' => FALSE,'stricton' => FALSE,'failover' => array(),'save_queries' => TRUE);
2. Buat controller baru dan beri nama Users.php , simpan pada restfull-api/application/controllers/ . Kemudian ketik kode dibawah ini :
<?phpdefined('BASEPATH') OR exit('No direct script access allowed');require APPPATH . 'libraries/REST_Controller.php';class Users extends REST_Controller {public function __construct(){parent::__construct();$this->load->model('m_users');}public function index_get(){$id = $this->input->get('id');if(!empty($id)) {$data = $this->m_users->getUserById($id)->result();} else {$data = $this->m_users->getAllUsers()->result();}if($data) {$res['status'] = true;$res['code'] = 200;$res['message'] = 'Success get user';$res['data'] = $data;$this->response($res, REST_Controller::HTTP_OK);} else {$res['status'] = false;$res['code'] = 400;$res['message'] = 'Error get user';$res['data'] = '';$this->response($res, REST_Controller::HTTP_OK);}}}/* End of file Users.php */
3. Kemudian buat model dengan nama M_users.php kemudain simpan pada restfull-api/application/models/ . Ketik code dibawah ini :
<?phpdefined('BASEPATH') OR exit('No direct script access allowed');class M_users extends CI_Model {public function getUserById($id){$this->db->where('id', $id);$q = $this->db->get('users');return $q;}public function getAllUsers(){return $this->db->get('users');}}/* End of file M_users.php */
4. Setting routes pada file restfull-api/application/config/routes.php . Tambahkan kode seperti dibawah ini ke baris paling bawah
$route['api/getUsers'] = 'Users';
Pada tahap ini pembuata API users telah selesai. Coba kalian buka postman untuk mencoba API yang telah kamu buat. Jika tidak ada kesalahan maka akan menampilkan seperti gambar dibawah ini.
1. Get All users. coba hit ke localhost/restfull-api/index.php/api/getUsers
2. Get user by id. coba hit ke localhost/restfull-api/index.php/api/getUsers?id=1
Demikian tutorial "Membuat Restfull API dengan Codeigniter" sampai jumpa di part berikutnya, semoga bermanfaat
No comments: