Lumen adalah Micro-framework yang diciptakan pengembang Laravel untuk mengakomodasi kebutuhan developer yang ingin membuat aplikasi dalam skala lebih kecil dari Laravel. Karena banyak library yang dihilangkan dalam bundle source code, Lumen bisa dijadikan framework untuk membuat REST API.
Deskripsi
Saat ini API yang kita buat belum memiliki dokumentasi. Kita akan membuat dokumentasi
bagaimana cara mengakses API yang telah kita buat. Tujuan praktek ini adalah untuk:
1. Memahami pentingnya dokumentasi
2. Mampu membuat dokumentasi bagaimana cara mengakses API
Mempersiapkan Docs Generator
Untuk membuat docs generator kita akan menggunakan swagger-ui
(https://swagger.io/tools/swagger-ui/). Untuk membuatnya, silahkan ikuti langkah-langkah
dibawah ini:
Deskripsi
Saat ini API yang kita buat belum memiliki dokumentasi. Kita akan membuat dokumentasi
bagaimana cara mengakses API yang telah kita buat. Tujuan praktek ini adalah untuk:
1. Memahami pentingnya dokumentasi
2. Mampu membuat dokumentasi bagaimana cara mengakses API
Mempersiapkan Docs Generator
Untuk membuat docs generator kita akan menggunakan swagger-ui
(https://swagger.io/tools/swagger-ui/). Untuk membuatnya, silahkan ikuti langkah-langkah
dibawah ini:
1. Install swagger-php plugins.Di folder project. Pada terminal/CommandPrompt ketika command dibawah ini.
composer require zircote/swagger-php
2. Membuat artisan command file. Buat file
app/Console/Commands/SwaggerDocScanner.php
3. Buka file app/Console/Kernel.php, tambahkan code ini. Line 17.
4. Untuk menjalankan artisan command SwaggerDocScanner dan menggenerate docs,
pada terminal/CommandPrompt jalankan command dibawah. Command ini akan
membuat file public/swaggerdoc.json. Saat ini kalau dijalankan, command ini bakal error,
karena kita belum mendefiniskan anotasi docs nya.
php artisan swaggerdoc:scan
5. Untuk tampilan User Interface nya kita perlu mebuat file html di public folder. Buat file
public/api-docs.html, code nya seperti ini.
6. Run Lumen Server
7. Pada browser buka http://localhost:8000/api-docs.html
8. Selesai
Membuat Dokumentasi API (Get Request)
Kita akan membuat API dokumentasi untuk endpoint /register. Untuk membuat dokumentasi
API mengenai get Request, silahkan ikuti langkah-langkah dibawah ini:
1. Buka file app/Http/Controllers/Controller.php, tambahkan code ini. Line 7-21.
2. Buka file app/Http/Controllers/PublicController/PostsController.php, tambahkan code ini.
Line 14-28.
3. Pada terminal/CommandPrompt jalankan command di bawah ini. Setiap kali anda
mengubah anotasi docs, harus menjalankan command di bawah ini supaya bisa update docs nya.
php artisan swaggerdoc:scan
4. Pada browser buka http://localhost:8000/api-docs.html
5. Kalau anda click pada button GET, tampilanya seperti ini
6. SIlahkan anda melakukan Try it out.
7. Selesai
Membuat Dokumentasi API (Post Request)
Kita akan membuat API dokumentasi untuk endpoint /register. Untuk membuat dokumentasi
API mengenai Post Request, silahkan ikuti langkah-langkah dibawah ini:
1. Buka file app/Http/Controllers/AuthController.php, tambahkan code ini. Line
14-47.
2. Pada terminal/CommandPrompt jalankan command di bawah ini. Setiap kali anda
mengubah anotasi docs, harus menjalankan command di bawah ini supaya bisa update
docs nya.
php artisan swaggerdoc:scan
3. Pada browser buka http://localhost:8000/api-docs.html
4. Kalau anda click pada button POST, tampilanya seperti ini.
5. Silahkan anda melakukan Try it out.
6. Selesai