membuat Yii2 restfull Web service menggunakan advance template ( bagian 3 : penambahan tabel dan konfigurasi file model dan controller )
ini dalah lanjutan dari artikel saya sebelumnya . silahkan membaca artikel
Sebelumnya kita telah membuat folder api yang merupakan folder rest web service. untuk artikel berikut ini kita akan mencoba menambahkan tabel pada database dan membuat file Controler dan Model untuk web service yang telah di buat.
konfigurasi terlebih dahulu virtual host kamu atau setting documentroot websitemu mengarah pada
folder api/web
berikut contoh virtual host di komputer lokal saya:
Selanjutnya buatlah contoh tabel berikut:
tabel artikel
Setelah membuat tabel artikel
buatlah file pada folder models dengan nama Artikel.php atau kamu bisa memakai fasilitas gii milik yii. dengan menggunakan namespace api\models
setelah kita memiliki file model Artikel.php kurang lebih seperti ini :
<?php
namespace api\models;
use Yii;
class Artikel extends \yii\db\ActiveRecord
{
public static function tableName()
{
return 'artikel';
}
public function rules()
{
return [
[['id', 'judul', 'create_at'], 'required'],
[['id'], 'integer'],
[['isi_artikel'], 'string'],
[['create_at', 'update_at'], 'safe'],
[['judul'], 'string', 'max' => 250],
];
}
} ?>
Selanjutnya buatlah file ArtikelController.php pada folder api/controllers. atau memakai fasilitas gii , jangan lupa ganti baseClass pada creat controller gii menjadi yii\rest\Controller
kurang lebih seperti ini hasil generate gii nya :
<?php
namespace api\controllers;
class ArtikelController extends \yii\rest\ActiveController
{
public function actionIndex()
{
return $this->render('index');
}
}
ubah script tersebut menjadi :
<?php
namespace api\controllers;
class ArtikelController extends \yii\rest\ActiveController
{
public $modelClass = 'api\models\Artikel';
}
- membuat-yii2-restfull-web-service ( bagian 1 : struktur folder )
- membuat-yii2-restfull-web-service ( bagian 2 : konfigurasi dan kostumasi file )
Sebelumnya kita telah membuat folder api yang merupakan folder rest web service. untuk artikel berikut ini kita akan mencoba menambahkan tabel pada database dan membuat file Controler dan Model untuk web service yang telah di buat.
konfigurasi terlebih dahulu virtual host kamu atau setting documentroot websitemu mengarah pada
folder api/web
berikut contoh virtual host di komputer lokal saya:
silahkan di sesuaikan dengan setingan hosting masing masingDocumentRoot "D:\Project\public_html\yii2-advance\api\web" ServerName api.mamujupos.dev AllowOverride All Require all Granted
Selanjutnya buatlah contoh tabel berikut:
tabel artikel
CREATE TABLE `artikel` ( `id` int(11) NOT NULL, `judul` varchar(250) NOT NULL, `isi_artikel` longtext, `create_at` datetime NOT NULL, `update_at` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Setelah membuat tabel artikel
buatlah file pada folder models dengan nama Artikel.php atau kamu bisa memakai fasilitas gii milik yii. dengan menggunakan namespace api\models
setelah kita memiliki file model Artikel.php kurang lebih seperti ini :
<?php
namespace api\models;
use Yii;
class Artikel extends \yii\db\ActiveRecord
{
public static function tableName()
{
return 'artikel';
}
public function rules()
{
return [
[['id', 'judul', 'create_at'], 'required'],
[['id'], 'integer'],
[['isi_artikel'], 'string'],
[['create_at', 'update_at'], 'safe'],
[['judul'], 'string', 'max' => 250],
];
}
} ?>
Selanjutnya buatlah file ArtikelController.php pada folder api/controllers. atau memakai fasilitas gii , jangan lupa ganti baseClass pada creat controller gii menjadi yii\rest\Controller
kurang lebih seperti ini hasil generate gii nya :
<?php
namespace api\controllers;
class ArtikelController extends \yii\rest\ActiveController
{
public function actionIndex()
{
return $this->render('index');
}
}
ubah script tersebut menjadi :
<?php
namespace api\controllers;
class ArtikelController extends \yii\rest\ActiveController
{
public $modelClass = 'api\models\Artikel';
}
Kita sudah dapat mengelolah tabel artikel dengan metode berikut:
GET /artikel : Daftar semua artikel halaman demi halaman;
HEAD /artikel : Menunjukkan informasi ikhtisar daftar artikel;
POST /artikel : Buat artikel baru;
GET /artikel/123 : Kembalikan rincian artikel 123;
HEAD /artikel/123 : Tampilkan informasi ikhtisar artikel 123;
PATCH /artikel/123 and PUT /books/123 : Perbarui artikel 123;
DELETE /artikel/123 : Hapus artikel 123 ;
OPTIONS /artikel : Tunjukkan verba yang didukung mengenai artikel;
OPTIONS /artikel/123 : Tunjukkan verba yang didukung mengenai artikel / 123.
Kamu juga dapat mengakses API melalui browser Web dengan memasukkan
http: // <nama webservice> / artikel. : untuk yang sudah mengkonfigurasi virtual host / root document serta mengaktivkan fitur prety Url di yii2 framework.
Kamu juga bisa mencoba mengakses api menggunakan plugin ekstensi crome : postman atau aplikasi Http Maste Ekspress
Artikel ini saya buat berdasar refrensi dan tutorial dari berbagai sumber
Sumber saya mempelajari Yii2 restfull web service :
⇨ http://www.hafidmukhlasin.com/2015/05/18/yii2-angularjs1-as-web-client-yii-2-0-as-web-service-restful/
⇨ http://budiirawan.com/setup-restful-api-yii2/
GET /artikel : Daftar semua artikel halaman demi halaman;
HEAD /artikel : Menunjukkan informasi ikhtisar daftar artikel;
POST /artikel : Buat artikel baru;
GET /artikel/123 : Kembalikan rincian artikel 123;
HEAD /artikel/123 : Tampilkan informasi ikhtisar artikel 123;
PATCH /artikel/123 and PUT /books/123 : Perbarui artikel 123;
DELETE /artikel/123 : Hapus artikel 123 ;
OPTIONS /artikel : Tunjukkan verba yang didukung mengenai artikel;
OPTIONS /artikel/123 : Tunjukkan verba yang didukung mengenai artikel / 123.
Kamu juga dapat mengakses API melalui browser Web dengan memasukkan
http: // <nama webservice> / artikel. : untuk yang sudah mengkonfigurasi virtual host / root document serta mengaktivkan fitur prety Url di yii2 framework.
Kamu juga bisa mencoba mengakses api menggunakan plugin ekstensi crome : postman atau aplikasi Http Maste Ekspress
Artikel ini saya buat berdasar refrensi dan tutorial dari berbagai sumber
Sumber saya mempelajari Yii2 restfull web service :
⇨ http://www.hafidmukhlasin.com/2015/05/18/yii2-angularjs1-as-web-client-yii-2-0-as-web-service-restful/
⇨ http://budiirawan.com/setup-restful-api-yii2/
Comments
Post a Comment