BerandaFramework PHPMembangun RESTful API Yii2 Advanced

Membangun RESTful API Yii2 Advanced

Advertisement

Panduan komprehensif ini menjelaskan langkah-langkah praktis membangun RESTful API pada Yii2 Advanced Template. Anda akan mempelajari konfigurasi endpoint, pembuatan controller, hingga metode pengujian API untuk mengekspos data. Tutorial ini dirancang untuk developer yang ingin mengimplementasikan arsitektur REST yang modern dan scalable.

Advertisement

Application Programming Interface (API) adalah antarmuka perangkat lunak yang memfasilitasi integrasi dan pertukaran data antar aplikasi. RESTful API merupakan implementasi API yang mengikuti prinsip arsitektur REST (Representational State Transfer). Arsitektur ini menggunakan protokol HTTP standar untuk komunikasi, sehingga menjadikannya solusi yang performan, skalabel, dan mudah dikembangkan.

Membangun RESTful API di Yii2 dapat dilakukan dengan efisien. Framework ini menyediakan fondasi MVC yang kuat dan dukungan bawaan untuk pengembangan REST. Artikel ini akan memandu Anda membuat endpoint API yang terpisah dari logika frontend dan backend biasa.

Advertisement

Kita akan menggunakan studi kasus mengekspos data dari tabel user. Asumsi dasar adalah Anda telah berhasil menginstal Yii2 Advanced Template. Jika belum, Anda dapat merujuk pada dokumentasi resmi Yii Framework untuk panduan instalasi.

Advertisement

Langkah-Langkah Implementasi RESTful API di Yii2

Proses implementasi terdiri dari tiga tahap utama: persiapan endpoint, konfigurasi aplikasi, dan pengujian. Mari kita bahas masing-masing tahap secara detail.

1. Membuat Struktur Direktori API

Tahap pertama adalah membuat lingkungan kerja khusus untuk API. Pada Yii2 Advanced Template, kita akan membuat direktori aplikasi baru bernama api.

  1. Salin seluruh isi direktori backend ke lokasi yang sama, lalu ubah nama salinan tersebut menjadi api.
  2. Buka file common/config/bootstrap.php. Tambahkan alias untuk direktori api dengan menambahkan baris berikut:
    Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');
  3. Pada direktori environments, salin folder backend di dalam dev dan prod. Ubah nama masing-masing salinan menjadi api.
  4. Edit file environments/index.php. Tambahkan konfigurasi path untuk direktori api pada bagian setWritable dan setCookieValidationKey.
  5. Gunakan fitur “Find and Replace” di editor kode Anda. Ganti semua kemunculan string backend menjadi api di dalam seluruh file pada folder api yang baru dibuat.
Membuat direktori api dari salinan backend di Yii2
Gambar 1: Proses duplikasi direktori backend menjadi api.

2. Konfigurasi Controller dan Aturan URL

Setelah struktur siap, langkah berikutnya adalah mengonfigurasi controller yang akan menangani request API.

  1. Buat Controller API. Buat file baru bernama UserController.php di dalam direktori api/controllers. Isi dengan kode berikut:
    <?php
    namespace api\controllers;
    use yii\rest\ActiveController;
    
    class UserController extends ActiveController
    {
        public $modelClass = 'common\models\User';
    }
    Controller ini mewarisi ActiveController yang menyediakan endpoint RESTful lengkap (GET, POST, PUT, DELETE) untuk model User secara otomatis.
  2. Konfigurasi URL Manager. Buka file api/config/main.php. Tambahkan atau ubah komponen request dan urlManager dalam array components:
    'components' => [
        'request' => [
            'parsers' => [
                'application/json' => 'yii\web\JsonParser',
            ]
        ],
        'urlManager' => [
            'enablePrettyUrl' => true,
            'enableStrictParsing' => true,
            'showScriptName' => false,
            'rules' => [
                ['class' => 'yii\rest\UrlRule', 'controller' => 'user'],
            ],
        ],
    ],
    Konfigurasi ini mengaktifkan parsing input JSON dan menentukan aturan routing untuk controller User.
  3. Konfigurasi Server Web (Opsional). Untuk server Apache, buat file .htaccess di dalam folder api/web dengan konten berikut:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php
    File ini mengarahkan semua request ke file index.php utama Yii2.

3. Melakukan Pengujian Endpoint API

Setelah konfigurasi selesai, Anda dapat menguji endpoint API yang telah dibuat. Berikut beberapa metode pengujian yang umum digunakan.

  1. Menggunakan Postman. Unduh dan instal Postman. Buat request baru dengan metode GET dan URL: http://localhost/[nama-project-anda]/api/web/users. Jika berhasil, Anda akan mendapat respons JSON berisi data user.
  2. Menggunakan cURL. Jalankan perintah berikut di terminal atau command prompt:
    curl -H "Accept: application/json" "http://localhost/[nama-project-anda]/api/web/users"
  3. Akses Melalui Browser. Buka URL endpoint di browser. Namun, metode ini biasanya hanya cocok untuk testing request GET sederhana.
Contoh hasil pengujian RESTful API Yii2 di Postman
Gambar 2: Hasil pengujian endpoint GET /users menggunakan Postman.

Dengan menyelesaikan semua langkah di atas, Anda telah berhasil membangun RESTful API dasar di Yii2. Untuk pengembangan lebih lanjut, pertimbangkan untuk menambahkan mekanisme autentikasi (seperti JWT), authorization, rate limiting, dan dokumentasi API yang baik. Selalu konsultasikan dokumentasi resmi Yii2 untuk memastikan implementasi Anda mengikuti praktik terbaik terkini.

Artikel Terbaru