Cara Membuat Restfull API dengan Codeigniter #PART 1 - Coding Center

728x90 AdSpace

Followers

Trending
Wednesday, December 9, 2020

Cara Membuat Restfull API dengan Codeigniter #PART 1


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.


Definisi REST

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.


Apa itu API

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.

  1. Mudah di urai, bahkan oleh javascript pada sisi client, hanya object biasa

  2. Data transport lebih kecil

  3. Proses urai lebih cepat


XML (Extensible Markup Language), beberapa ciri-ciri XML

  1. Butuh XML Document untuk mengurai seperti Xpath

  2. Data transport lebih besar

  3. Proses urai lebih lambat


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 :


<?php
defined('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 :


<?php
defined('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


Cara Membuat Restfull API dengan Codeigniter #PART 1 Reviewed by Zidane on December 09, 2020 Rating: 5 Pada kesempatan kali ini saya akan membagikan tutorial yang berjudul “Cara Membuat Rest API dengan Codeigniter “. Sebelum melakukan coding, ...

No comments: