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
<?phpuseMiniMvc\Apps\Core\Bootstraping\API_Handling;use\Bramus\Router\Router;// Create a Router object$router =newRouter();$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
<?phpdefined('BASEURL')orexit('No direct script access allowed');useMiniMvc\Apps\Core\Bootstraping\API_Handling;classapi_management_userextendsAPI_Handling{publicfunction__construct() {// code here }// example Api publicfunctionindex() {// 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', ];echojson_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
<?phpdefined('BASEURL')orexit('No direct script access allowed');useMiniMvc\Apps\Core\Bootstraping\API_Handling;classapi_lokasi_indonesiaextendsAPI_Handling{publicfunction__construct() {// code here }// example Api publicfunctionindex() { $url ="https://dev.farizdotid.com/api/daerahindonesia/provinsi";echoget_rest_api($url); }}
api.php
<?phpuseMiniMvc\Apps\Core\Bootstraping\API_Handling;use\Bramus\Router\Router;// Create a Router object$router =newRouter();$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.