Minggu lalu kita sudah
Membuat Sistem Signup dan Login untuk BarBek RESTful Web APIs, dan untuk minggu ini kita akan membuat RESTful endpoint untuk lokasi (menyediakan data provinsi dan kota seluruh Indonesia) dan kategori (kategori dan subkategori). Selain itu, kita akan membuat sebuah base Controller turunan dari
\yii\rest\Controller yang nantinya akan selalu kita gunakan saat membuat controller.
Membuat Base Controller
Kita akan membuat sebuah file baru bernama
Controller.php didalam folder controllers. Dalam kelas tersebut kita meng-override method behaviours() dan menambahkan CORS filter (
\yii\filters\Cors).
Membuat RESTful endpoint untuk lokasi
Ganti nama method getKotas() pada model Provinsi dengan getKota(), karena kita menggunakan bahasa indonesia dan hasil generate model melalui gii membuat nama method relasi menjadi plural versi bahasa inggris (
\yii\helpers\Inflector).
Selanjutnya, kita akan membuat sebuah Controller Baru bernama
LokasiController.php, dan kita akan memodifikasi Model
Provinsi.php.
Secara sederhana spesifikasi dari LokasiController.php ini adalah:
1. Tidak membutuhkan autentikasi karena pada controller ini kita hanya akan membuat sebuah GET action yang datanya bisa diakses oleh semua user.
2. Membutuhkan CORS filter (
\yii\filters\Cors), karena kita akan melakukan request langsung dari browser dengan domain berbeda.
3. Point 1 dan 2 sudah terpenuhi dengan menggunakan base controller yang tadi telah kita buat
4. Memiliki satu action yaitu index, dimana didalam action ini kita akan mengambil data lokasi berupa provinsi dan kota yang ada dalam database barbek melalui model Provinsi dan relasinya dengan model Kota.
5. Override method verbs() untuk menambahkan validasi HTTP method untuk action index.
Selanjutnya, kita akan edit file
config/web.php dan menambahkan rules baru untuk menghandle routing action index pada lokasi controller.
Membuat RESTful endpoint untuk kategori
Sekarang kita akan mencoba kedua endpoint tersebut yaitu GET /lokasi dan GET /kategori melalui postman.
1. GET /lokasi
2. GET /kategori
Sampai disini dulu, kita lanjut minggu depan. Yang kurang dimengerti silahkan tanyakan di kanal telegram atau di kolom komentar.
Tugas: Modifikasi AuthController.php dan SiteController.php sehingga menggunakan base controller yang kita buat pada tutorial ini.
Note:
Postingan ini merupakan seri tutorial dari "Membuat Web Jual Beli Barang Bekas Online (BarBek) dengan Yii2 dan Riot.Js", anda harus sudah menyelesaikan tutorial-tutorial sebelumnya untuk mempraktikkan tutorial dalam postingan ini.
Pembuka:
1.
Membangun Aplikasi Stateless (Restful Web Service) dengan Yii2 dan Single Page (Frontend) dengan Riot.JS
Bagian Pertama (Yii2):
2.
Implementasi Rancangan Database menggunakan fitur Database Migration di Yii2
3.
Membuat Model Menggunakan Fitur Gii Console Command di Yii2
4.
Memodifikasi Model User Yii2 Basic Template Untuk Kebutuhan Autentikasi Pengguna Menggunakan JWT (JSON Web Token)
5.
Membuat Sistem Signup dan Login untuk BarBek RESTful Web APIs
6. Membuat RESTful endpoint untuk Lokasi dan Kategori
Source code :
https://github.com/ydatech/barbek-restful-api
Kanal Diskusi Telegram :
https://telegram.me/yudalog
Comments
Post a Comment