Tutorial PHP Lumen Service Docs

Dalam blog ini akan dijelaskan mengenai Tutorial PHP Lumen Service Docs.

Mempersiapkan Docs Generator

Untuk membuat docs generator kita akan menggunakan swagger-ui. Silahkan ikuti langkah-langkah
dibawah ini:

Install swagger-php plugins. Pada terminal/CommandPrompt ketik command dibawah ini.
composer require zircote/swagger-php



Buat file app/Console/Commands/SwaggerDocScanner.php. codenya seperti berikut :

 <?php  
 namespace App\Console\Commands;  
 use Illuminate\Console\Command;  
 class SwaggerDocScanner extends Command{  
      protected $signature = 'swaggerdoc:scan';  
      public function handle(){  
           $path = dirname(dirname(__DIR__));  
           $outputPath = dirname(dirname(dirname(__DIR__))) . DIRECTORY_SEPARATOR . 'public/swaggerdoc.json';  
           $this->info('Scanning ' . $path);  
           $openApi= \OpenApi\scan($path);  
           header('Content-Type: application/json');  
           file_put_contents($outputPath, $openApi->toJson());  
           $this->info('Output ' . $outputPath);  
      }  
 }  
 ?>  

Buka file app/Console/Kernel.php, tambahkan code dibawah ini. Line 17.


Untuk tampilan User Interface nya kita perlu mebuat file html di public folder. Buat file
public/api-docs.html, code nya seperti dibawah ini.

 <html lang="en">  
 <head>  
 <meta charset="UTF-8">  
 <title>My Api Documentation</title>  
 <link rel="stylesheet" type="text/css" href="https://unpkg.com/swagger-ui-dist@3/swagger-ui.css">  
 </head>  
 <body>  
 <div id="swagger-ui"></div>  
 <script src="//unkg.com/swagger-ui-dist@3/swagger-ui-stanalone-preset.js"></script>  
 <script src="//unkg.com/swagger-ui-dist@3/swagger-ui-bundle.js"></script>  
 <script>  
      (function (){  
           SwaggerUIBundle({  
                url: "swaggerdoc.json",  
                dom_id: '#swagger-ui',  
                presents: [  
                     SwaggerUIBundle.presets.apis,  
                     SwaggerUIStandalonePreset  
                ],  
                layout: "StandaloneLayout"  
           });  
      })();  
 </script>  
 </body>  
 </html>  

Run Lumen Servernya

Jalankan pada browser alamat http://localhost:8000/api-docs.html. Maka tampilanya akan seperti ini



Membuat Dokumentasi API (Get Request)

Untuk membuat dokumentasi API mengenai get Request, ikuti langkah-langkah dibawah ini:

Buka file app/Http/Controllers/Controller.php, tambahkan code dibawah ini. Line 6-20.


Buka file app/Http/Controllers/Public/PostsController.php, tambahkan code dibawah ini. Line 11-25.


Jalankan pada browser http://localhost:8000/api-docs.html. Jika diklik button Get maka tampilannya akan seperti ini.


Membuat Dokumentasi API (Post Request)

Untuk membuat dokumentasi API mengenai Post Request, ikuti langkah-langkah dibawah ini:

Buka file app/Http/Controllers/AuthController.php, tambahkan code dibawah ini. Line 10-43.


Jalankan pada browser http://localhost:8000/api-docs.html. Jika diklik button POST maka tampilannya akan seperti ini.


Selesai.

Komentar

Postingan Populer