ini tidak berbeda jauh bebeda dengan routing web.php hanya saja saya pisahkan untuk membuatnya moun kedalam group API jadi arah urlnya menjadi domain/api/pattern untuk akses API.
untuk membuat API atau hanya bermain di data saja saya membuatnya pada folder apps/api yang dimana akan di handling oleh corenya yaitu API_Handling
Basic usage
untuk membuat API definisinan routenya pada api.php
api.php
$router->get('/users', function () {
API_Handling::Routing('api_management_user', 'index');
});
maka untuk full codenya akan terlihat seperti ini
<?php
use MiniMvc\Apps\Core\Bootstraping\API_Handling;
use \Bramus\Router\Router;
// Create a Router object
$router = new Router();
$router->mount('/api', function () use ($router) {
$router->set404(function () {
header('HTTP/1.1 404 Not Found');
redirect_404();
});
// pattern
$router->get('/users', function () {
API_Handling::Routing('api_management_user', 'index');
});
});
// run route!
$router->run();
api_management_user.php
lalu pada berkasi api_management_user.php
<?php
defined('BASEURL') or exit('No direct script access allowed');
use MiniMvc\Apps\Core\Bootstraping\API_Handling;
class api_management_user extends API_Handling
{
public function __construct()
{
// code here
}
// example Api
public function index()
{
// code here dalam array assoc example
$data = [
'id' => 1,
'nama' => 'ekajayanagara',
'jobs' => [
'freelancer illustrattor',
'junior dev',
'student collegue'
],
'status learning' => 'Learn in Internet',
'hobby' => 'ngulik in bahasa sunda',
'address' => 'indonesia',
'city' => 'jakarta',
];
echo json_encode($data, JSON_PRETTY_PRINT);
}
}
Example
untuk contoh lainnya adalah sebagai berikut ini.
menggunakan real data api public (lokasi indonesia)
api_lokasi_indonesia.php
berikut adalah contoh penulisan untuk get endpoint public api dari faritdotid.com untuk contoh hit API dengan bentuk JSON
<?php
defined('BASEURL') or exit('No direct script access allowed');
use MiniMvc\Apps\Core\Bootstraping\API_Handling;
class api_lokasi_indonesia extends API_Handling
{
public function __construct()
{
// code here
}
// example Api
public function index()
{
$url = "https://dev.farizdotid.com/api/daerahindonesia/provinsi";
echo get_rest_api($url);
}
}
api.php
<?php
use MiniMvc\Apps\Core\Bootstraping\API_Handling;
use \Bramus\Router\Router;
// Create a Router object
$router = new Router();
$router->mount('/api', function () use ($router) {
$router->set404(function () {
header('HTTP/1.1 404 Not Found');
redirect_404();
});
// pattern
$router->get('/daerah-indonesia', function () {
API_Handling::Routing('api_lokasi_indonesia', 'index');
});
});
// run route!
$router->run();
Hasil
melihat hasilnya pada browser domainname/api/daerah-indonesia
untuk hasilnya akan berupa data dalam bentuk JSON format seperti berikut ini.