lifelong learner — urip iku urup, currently working on accenture.

Rest Webservices dengan code igniter menggunakan library rest-server (bagian 1)

13
Degananda.com -

REST (REpresentational State Transfer) merupakan suatu rancangan arsitektur komunikasi berbasis web. Rest menggunakan protokol HTTP untuk melakukan pertukaran data. Web Services adalah suatu layanan yang disediakan oleh web server untuk mengakomodasi pertukaran data antar aplikasi, sistem ataupun platform. Misalnya pertukaran data antara RDBMS Mysql dengan aplikasi android.

Sebelum membuat REST Web services dengan code igniter, pastikan sistem operasi yang digunakan telah memiliki :

part 2 :

Rest Webservices dengan code igniter menggunakan library rest-server (bagian 2) – setting API KEY

Here we go

Langkah 1 – download CI dan rest-web server
download code-igniter(selanjutnya di sebut dengan CI) versi tiga dan library rest server. Versi minimum yang dibutuhkan untuk menggunakan library rest server adalah CI versi tiga.

Langkah 2 – Persiapan
Letakkan code-igniter pada folder htdocs atau www (tergantung engine yang digunakan).

Langkah 3 – Installasi library rest-server
Pindahkan file-file dan folder-folder berikut dari folder library rest-server ke code igniter.

  1. folder language. Folder ini perlu dipindah untuk menampilkan pesan error yang dihandle oleh rest-server
  2. file : application/libraries/Format.php
  3. file : application/libraries/REST_Controller.php
  4. file : application/config/rest.php

Berikut ini adalah hasil perpindahan file sesuai dengan ulasan diatas.1

folder libraries
folder libraries
folder language
folder language

Langkah 4 – Seting htaccess untuk rewrite url (prettify url)
buat file .htaccess seperti dibawah ini untuk fungsi pretty url. Fungsi perintah htaccess tersebut adalah melakukan rewrite url  localhost/index.php/controller_name ke localhost/controller_name pada code igniter dan simpan di path utama code igniter (“/”)

 RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Studi kasus : Web services data siswa.

Langkah 5 – Pembuatan controller
Pada kasus kali ini , web services yang akan dibuat mengenai data siswa. Web services tersebut dapat menambahkan data siswa, mengubah data siswa, menghapus data siswa dan juga menampilkan data siswa.

Pada aturan atau arsitektur rest ,nama http method yang digunakan seperti verb.

  1. GET, digunakan untuk mendapatkan resources / data
  2. PUT, digunakan untuk mengubah resources / data yang telah ada
  3. POST, digunakan untuk menambahkan resources / data yang belum ada
  4. DELETE , digunakan untuk menghapus resources / data yang telah ada

buat file controller dengan nama siswa.php
controller ini akan mengakomodasi metode-metode yang dibutuhkan untuk membuat :

  1. Web Services menambahkan siswa
  2. Web Services mengubah data siswa
  3. Web Services menampilkan data siswa
  4. Web Services menghapus data siswa
<?php include_once(APPPATH.'libraries/REST_Controller.php'); defined('BASEPATH') OR exit('No direct script access allowed'); class Siswa extends REST_Controller { // GET public function index_get(){ $data_siswa = array( "output" : "hellow world" ); $this->response($data_siswa, 500);
}

// POST
public function index_post(){

$data_siswa = array(
  "nama" : "degananda",
  "umur" : "22"
);

$this->response($data_siswa, 200);
}

// DELETE
public function index_delete(){

 $data_siswa = array(
   "nama" : "degananda",
   "umur" : "22"
 );

 $this->response($data_siswa, 200);
}

}
?>

penjelasan kode :

include_once(APPPATH.’libraries/REST_Controller.php’); -> memanggil library rest web services.

public function index_get(){ -> membuat web services dengan alamat “index” dengan METHOD GET, begitu pula dengan POST ataupun DELETE index artinnya tidak ada paramter jika lihat_get() maka lokasinnya adalah http://lokasiwebservices/lihat

* untuk metode PUT dan menghubungkan dengan databases akan dibahas di post selanjutnya

$this->response(200); -> HTTP respon yang diberikan, secara umum 200 jika berhasil, 500 jika transaksi gagal, 400 jika ada paramter yang kurang pada saat menembak web services

sampai pada tahapan ini hanya membuat controller yang tanpa dihubungkan dengan database. Untuk menghubungkan dengan database akan dibahas pada post selanjutnya.

langkah 6 – pengujian

1. masukan lokasi URL web services sesuai dengan controller siswa tadi dan pilih method GET

2.Masukan header :
Content-Type: application/json

3. Send

berikut adalah hasil pengetesan pada REST-Client dengan browser firefox developer edition.

screen-shot-2016-11-13-at-7-59-18-pm

hasilnya berhasil menampilkan data dengan format JSON sesuai controller yang telah dibuat sebelumnya.

{
"nama" : "degananda",
"umur" : "22"
}

hasil file : https://drive.google.com/open?id=0By5rvYirLfy3OEo0UC1aa1BEdWM

part 2 :

Rest Webservices dengan code igniter menggunakan library rest-server (bagian 2) – setting API KEY