Laravel REST API

[P]rogrammer yang berkecimpung di dunia web sekarang ini wajib hukumnya untuk mengerti cara membuat REST API, minimal tahu bagaimana cara membuat simpel CRUD dengan teknologi tersebut. Kalau belum tahu ya belajar, banyak sekali sumber di internet yang bisa dijadikan rujukan belajar.

Laravel API

By the way, saya pribadi mulai ngoprek REST API di Laravel baru sekitar 5 hari yang lalu hahaa (newbie banget) 😀 makanya biar gak lupa dan bisa bermanfaat bagi orang lain saya tulis di sini sebagai dokumentasi belajar saya.

Rencananya tulisan ini akan menjadi 2 bagian
1. Membuat backend untuk API, yaitu tulisan ini
2. Membuat klien yang memakai API menggunakan AngularJS

Membuat Project

Saat artikel ini ditulis, versi Laravel yang sudah production adalah 4.2. Mengingat versi 4.3 sebentar lagi akan rilis maka jika menggunakan 4.3 mungkin akan ada beberapa penyesuaian.

Buat project terlebih dahulu ya

Setting Database

File setting untuk database terletak di app/config/database.php. Ubah pada bagian MySql, berikut contohnya

Setelah itu jangan lupa buat database dengan nama laravel_api

Membuat Migration

Fungsi migration salah satunya adalah untuk membuat tabel di database secara automatis. Ketikkan perintah berikut untuk membuat migration yang digunakan untuk membuat tabel comments

Cek pada app/database/migrations maka akan terdapat file dengan nama tahunxxx_bulanxxx_tanggalxxx_waktuxxx_create_table_comments.php, bagian yang ada xxx nya berbeda antara punya saya dengan punya pembaca.

Tambahkan sejumlah baris sehingga hasil akhirnya adalah seperti di bawah

Menjalankan Migration

Pastikan pembaca sudah benar-benar membuat database laravel_api. Kalau sudah tinggal jalankan perintah berikut untuk mengeksekusi migration yang kita buat tadi untuk menciptakan tabel di database.

Cek database kalau tidak percaya bahwa tabel sudah dibuat :p

Membuat Model

Buat model dengan nama Comment, berikut adalah kodenya

Membuat Seed

Sekarang kita buat seed atau gampangnya adalah data sampel yang akan dimasukkan ke database. Pada app/database/seeds buat file dengan nama CommentTableSeeder.php dan ketik kode berikut

Ubah file DatabaseSeeder.php menjadi seperti ini

Menjalankan Seed

Ketikkan perintah berikut untuk menjalankan seed

Silahkan cek lagi databasenya, kali ini sudah terisi dengan tiga data di atas.

Membuat Controller

Karena kita akan membuat REST API maka kita akan menggunakan Resource Controller. Untuk membuatnya kita gunakan perintah lagi

Cek file yang baru saja kita generate. Masih kosongan, tenang saja habis ini kita isi bersama.

index(). Method ini digunakan untuk mengambil semua data yang ada (GET). Berikut kodenya

store(). Store digunakan untuk menyimpan data ke database server (POST)

show($id) digunakan untuk mengambil data dengan id tertentu (GET)

update($id). Method ini untuk mengupdate data di database server (PUT)

destroy(), menghapus data dengan id tertentu

Mengatur Routing

Controller sudah jadi maka sekarang kita buat routingnya. Buka file app/routes.php dan masukkan kode ini

Untuk mengecek routing yang sudah kita bat barusan silahkan jalankan perintah berikut

Mengetes API

Sampai routing di atas sebenarnya API kita sudah jadi, namun kita perlu mengetesnya kan?

Saya menggunakan add on pada google chrome yang bernama POSTMAN untuk tujuan testing ini

Jalankan aplikasi kita terlebih dahulu

1. Test index()

1. index

2. Test show($id)

2. show

3. Test store()

3. store

4. Test update()

4. update

3. Test destroy()

5. delete

Penutup

Nah begitulah cara membuat web api sederhana menggunakan Laravel. Sampai jumpa di tulisan berikutnya tentang autentikasi pada API yang telah kita buat. 😉

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

14 thoughts on “Laravel REST API

  1. waktu post kok error ya mas?
    SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘author’ cannot be null (SQL: insert into comments (author, text, updated_at, created_at) values (, , 2015-08-16 13:04:21, 2015-08-16 13:04:21))

  2. waw … mas agung, artikelnya bagus !
    keliatan gampang dan mudah dipahami.

    tapi, dengan konsep yang sama, gimana cara buat rest api itu dengan ruby on rails ?

Leave a Reply

Your email address will not be published. Required fields are marked *