Preset module untuk gate API.

Instalasi

Jalankan perintah di bawah di folder aplikasi:

mim app install api

Konfigurasi

Module ini memiliki struktur response sendiri dengan bentuk seperti di bawah:

{
    "error": "int",
    "message": "string",
    "data": "mixed"
}

Jika struktur tersebut tidak sesuai dengan kebutuhan, maka tambahkan konfigurasi di bawah pada module/aplikasi dan buatkan class yang mengimplementasikan interface Api\Iface\Response untuk membentuk struktur response.

return [
    'api' => [
        'resFormat' => 'Class'
    ]
];

Class tersebut harus memiliki method sebagai berikut:

static function resp($self, int $error=0, $data=null, string $message=null, array $meta=null): array

Fungsi yang akan dipanggil untuk memformat data. Fungsi ini diharapkan mengembalikan nilai array dengan bentuk [content::String, mime::String].

Penggunaan

Module ini mendaftarkan satu gate dengan nama api seperti di bawah:

return [
    'gates' => [
        'api' => [
            'priority' => 10000,
            'host' => [
                'value' => 'HOST'
            ],
            'path' => [
                'value' => '/api'
            ]
        ]
    ],
];

Semua route handler harus meng-extends dari Api\Controller.

Kontroler Api\Controller menambah satu method dengan nama:

resp(int $error=0, $data=null, string $message=null, array $meta=null): void

Fungsi untuk menggenerasi response dan mengirimkan data ke user dalam bentuk json. Nilai 200 pada parameter $error akan diubah menjadi 0.

Nilai array $meta disejajarkan dengan response body.