Membuat webservice REST API sederhana dengan Code igniter

Kali ini kita akan mencoba membuat API (Application Programmable Interface) sederhana.
Hal yang pertama dibutuhkan adalah data, kita harus memiliki data apa saja yang ingin kita sediakan dalam API. Contoh disini saya akan membuat sebuah API yang akan menyediakan data mahasiswa yang bertipe JSON dan yang request-nya bisa siapa saja, karna saya tidak menyimpan data pengguna yang ingin menggunakan API ini (seperti API key & secret key). Pertama kita akan membuat databasenya. Jangan lupa konfigurasi database,config,route, dll framework CI nya di folder application > config.

Database mahasiswa:

Nama Tipe
Id Int (auto increament)
Nim Varchar(8)
Nama Varchar(20)

Nah kalau udah buat databasenya, isi dulu databasenya kalau bisa yang banyak biar keliatan kalau dicoba, sekarang kita main di scriptnya, sekarang kita buat model terlebih dahulu dengan nama Mmahasiswa. Modelnya terdiri dari CRUD biasa saja. Ini contoh modelnya :

Nah kalau udah sekarang kita buat controllernya. Karnya kita menyediakan data mentah agar dapat diterima oleh pengguna yang request, jadi kita gak perlu buat viewnya. Ini contoh controllernya, kita kasih nama controller-nya mahasiswa:

Kalau ada yang belum ngerti sama modelnya cek kesini : http://codeigniter.com/user_guide/general/models.html
atau belum ngerti sama fungsi-fungsinya cek sini : http://codeigniter.com/user_guide/database/active_record.html

Nah kalau udah jadi, kurang lebih siap deh, mohon maap ya kalau buru”, hehe 😛
coba sekarang buka browser, terus ke URL yang controller mahasiswanya

Contohnya :

http://localhost/{url di config}/index.php/mahasiswa/cari_nim/{nim}

http://localhost/{url di config}/index.php/mahasiswa/get_all

http://localhost/{url di config}/index.php/mahasiswa/get_all

silahkan di coba ya 😀

*mohon maaf jika terburu buru, lain kali akan di lengkapi 😉

14 thoughts on “Membuat webservice REST API sederhana dengan Code igniter

    • wah, coba cek modelnya lagi ^^,

      yang kita keluarin cukup yang kita select dari model aja,

      contoh select semua data dari tabel database pake model CI,

      $data = $this->db->get(“nama_tabel”);

      mengembalikan data bentuk objek:
      return $data->result();

      mengembalikan data bentuk array:
      return $data->result_array();

      atau bisa juga langsung dikem balikan
      return $data

      🙂

  1. opit says:

    bang tanya dong, ini yang namanya RESTful webservice bukan?
    kalo pake API Key caranya gimana? apa kaya autentikasi user biasa (fungsi pake parameter API key, ambil data dari database trus dicocokin)?
    makasih tutorial nya

    • ya, kalau mau buat api key bisa pake autentikasi biasa 🙂
      setiap user yang mendaftar dikasih sebuah key unik, yang nantinya juga bisa dipake untuk mendata / record bahwa si user sedang meminta data dari rest kita 🙂

      • Mulyana Yusuf says:

        Mas maaf saya masuk,., sebelumnya saya ucapkan banyak terima kasih dengan tutorial yang ini, sangat membantu sekali,.

        jadi apakah bikin api key cukup dibuat di controller yang meminta seleksi di database dengan model ??

        Ditunggu arahannya,. kalo bisa tutornya gan,. hehe,. terimakasih,.

  2. ryanrp says:

    dul ni gw marvin, pengen nanya klo mau bikin web service rest itu enakan pake framework ci atau php biasa? kompleks mana? cocok mana kalo yg masih newbie(cupu)?

    • Masalah diatas udah ke jawab…

      sebenarnya tugas gw bikin web serveice
      2 situs
      1 penyedia json file
      1 lagi pembaca json file

      mungkin agan punya solusi/source bagaimana mengubah hasil json kembali ke php dan tampil dalam view nya CI

  3. galih says:

    Maaf mas, saya mau tanya apa perbedaannya sama yang menggunakan codeigniter-restserver-master yang harus menggunakan beberapa lib bahkan harus menginstall cURL dari spark?

  4. aristio says:

    gan gw jg ada tugas yang sama tuh kaya agan anata jue. disuruh buat webservice.. kira-kira dari artikel yang agan tulis kalau di tambahin view souce codenya gmn ya gan.. mohon pencerahan maklum masih tahap belajar.. terimakasih

Leave a comment