Membuat REST API dengan PHP khususnya framework CodeIgniter sangat mudah dan cepat. Pada tutorial kali ini saya akan membahas pembuatan dasar nya terlebih dahulu. Sebelum memulai, persiapkan terlebih dahulu:
- Telah menggunakan dan memahami Codeigniter
- Web Browser Chrome dengan Plugin Postman
- CodeIgniter versi 3.0.6
1. Persiapkan CodeIgniter 3.0.6
Saat tulisan ini dibuat saya menggunakan versi terbaru CodeIgniter yaitu 3.0.6. Ektrak dan letakkan pada webserver kalian dengan nama ci-restserver.
2. Download Plugin CodeIgniter-RestServer
Untuk memudahkan membuat Rest API di CodeIgniter kita dapat menggunakan library buatan Chris Kacerguis di halaman githubnya
Setelah di download dari link github diatas copy tiap file berikut ke dalam folder didalam project CodeIgniter kalian:
- application/libraries/Format.php
- application/libraries/REST_Controller.php
- application/config/rest.php
- application/language/english/rest_controller_lang.php
3. Memulai Koding
Buat terlebih dahulu file .htaccess didalam folder project ci-restserver yang berisi:
Lalu Buat controller baru di application/controllers/api.php yang berisi:
Penjelasan dari kode diatas:
Controller bernama api.php yang nantinya akan dipanggil melalui client (Mobile, Desktop atau Web) yang berisi 4 http method yaitu: GET, POST, PUT dan DELETE.
Dari tiap method yang dipanggil akan menampilkan pesan masing-masing yang berada di dalam response()
Untuk menerapkan HTTP saat controller dipanggil, berikan nama function yang diakhir dengan _httpMethod.
function siswa_get()
Merupakan function siswa yang dipanggil menggunakan method HTTP GET
function siswa_post()
Merupakan function siswa yang dipanggil menggunakan method HTTP POST
function siswa_put()
Merupakan function siswa yang dipanggil menggunakan method HTTP PUT
function siswa_delete()
Merupakan function siswa yang dipanggil menggunakan method HTTP DELETE
function siswa_arr_get()
Merupakan function siswa yang dipanggil menggunakan method HTTP GET dengan output JSON array
4. URL REST API
OK code sudah jadi dan url API CodeIgniter yang telah dibuat berada di:
http://localhost/ci-restserver/api/siswa
5. Memanggil REST API CodeIgniter
Setelah code diatas selesai langkah selanjutnya adalah memanggil API tsb melalui aplikasi client.
Bagi yang suka dengan perintah dasar/command line dapat menggunakan curl dengan perintah:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X POST http://localhost/ci-restserver/api/siswa
dan akan mendapatkan hasil:
"My first API response = POST METHOD"
Tulisan POST pada curl diatas dapat kalian ganti dengan method yang lain misalnya GET, PUT dan DELETE untuk mendapatkan response yang berbeda.
Bagi pengguna web browser Chrome dapat menggunakan Postman dengan melakukan install terlebih dahulu melalui Chrome Web Store dengan mengetikan di kotak pencarian.
Install, buka Postman dan ketikkan http://localhost/ci-restserver/api/siswa serta ganti dropdown menjadi GET dan tekan tombol Send. Akan tampil hasilnya seperti berikut
- Telah menggunakan dan memahami Codeigniter
- Web Browser Chrome dengan Plugin Postman
- CodeIgniter versi 3.0.6
1. Persiapkan CodeIgniter 3.0.6
Saat tulisan ini dibuat saya menggunakan versi terbaru CodeIgniter yaitu 3.0.6. Ektrak dan letakkan pada webserver kalian dengan nama ci-restserver.
2. Download Plugin CodeIgniter-RestServer
Untuk memudahkan membuat Rest API di CodeIgniter kita dapat menggunakan library buatan Chris Kacerguis di halaman githubnya
Setelah di download dari link github diatas copy tiap file berikut ke dalam folder didalam project CodeIgniter kalian:
- application/libraries/Format.php
- application/libraries/REST_Controller.php
- application/config/rest.php
- application/language/english/rest_controller_lang.php
3. Memulai Koding
Buat terlebih dahulu file .htaccess didalam folder project ci-restserver yang berisi:
RewriteEngine on RewriteCond $1 !^(index\.php|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L]
Lalu Buat controller baru di application/controllers/api.php yang berisi:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); require APPPATH.'/libraries/REST_Controller.php'; class Api extends REST_Controller{ function __construct(){ parent::__construct(); } function siswa_get(){ $this->response('My first API response = GET METHOD'); } function siswa_arr_get(){ $siswa = array( 1 => array('first'=>'rudi', 'last_name'=>'nur'), 2 => array('first'=>'ani', 'last_name'=>'nuni') ); $this->response($siswa); } function siswa_post(){ $this->response('My first API response = POST METHOD'); } function siswa_put(){ $this->response('My first API response = PUT METHOD'); } function siswa_delete(){ $this->response('My first API response = DELETE METHOD'); } }
Penjelasan dari kode diatas:
Controller bernama api.php yang nantinya akan dipanggil melalui client (Mobile, Desktop atau Web) yang berisi 4 http method yaitu: GET, POST, PUT dan DELETE.
Dari tiap method yang dipanggil akan menampilkan pesan masing-masing yang berada di dalam response()
Untuk menerapkan HTTP saat controller dipanggil, berikan nama function yang diakhir dengan _httpMethod.
function siswa_get()
Merupakan function siswa yang dipanggil menggunakan method HTTP GET
function siswa_post()
Merupakan function siswa yang dipanggil menggunakan method HTTP POST
function siswa_put()
Merupakan function siswa yang dipanggil menggunakan method HTTP PUT
function siswa_delete()
Merupakan function siswa yang dipanggil menggunakan method HTTP DELETE
function siswa_arr_get()
Merupakan function siswa yang dipanggil menggunakan method HTTP GET dengan output JSON array
4. URL REST API
OK code sudah jadi dan url API CodeIgniter yang telah dibuat berada di:
http://localhost/ci-restserver/api/siswa
5. Memanggil REST API CodeIgniter
Setelah code diatas selesai langkah selanjutnya adalah memanggil API tsb melalui aplikasi client.
Bagi yang suka dengan perintah dasar/command line dapat menggunakan curl dengan perintah:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X POST http://localhost/ci-restserver/api/siswa
dan akan mendapatkan hasil:
"My first API response = POST METHOD"
Tulisan POST pada curl diatas dapat kalian ganti dengan method yang lain misalnya GET, PUT dan DELETE untuk mendapatkan response yang berbeda.
Bagi pengguna web browser Chrome dapat menggunakan Postman dengan melakukan install terlebih dahulu melalui Chrome Web Store dengan mengetikan di kotak pencarian.
Install, buka Postman dan ketikkan http://localhost/ci-restserver/api/siswa serta ganti dropdown menjadi GET dan tekan tombol Send. Akan tampil hasilnya seperti berikut
coba kembali dengan url http://localhost/ci-restserver/api/siswa_arr dengan method GET
akan tampil response dalam bentuk array sesuai dengan code yang telah kita tulis diatas. Untuk mencoba method lainnya dari REST API yang telah kita buat dapat kalian ganti url beserta methodnya didalam Postman.
Membuat REST API Dengan CodeIgniter
Reviewed by rizupz
on
Minggu, Mei 15, 2016
Rating:
2 komentar:
Fungsinya rewrite apa ya di file .htaccess ?
Gan saya mau tanya, kalau error values itu cara ngatasinnya gimana ya?
Posting Komentar