Minggu, 29 Desember 2019

MEMBUAT PHP LUMEN DOCUMENTATION

Untuk membuat docs generatornya kita akan menggunakan swagger.
Ikuti langkah-langkah dibawah ini:

1. Install swagger-php plugins. 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 dibawah ini. Line 16-17.

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

5. Run Lumen Server
6. buka localhost:8000/api-docs.html

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 dibawah ini. Line 7-21.
2. Buka file app/Http/Controllers/Public/PostsController.php, tambahkan code dibawah ini. Line 11-25

3. buka command prompt lalu ketik php artisan swaggerdoc:scan
4. Pada browser buka http://localhost:8000/api-docs.html

Membuat Dokumentasi API (Post Request)
1. 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 dibawah ini. Line 11-44.


class AuthController extends Controller
{
    /**
     * @OA\Post(path="/auth/register",
     *  summary="Register new user",
     *  tags={"Authentication"},
     *  @OA\RequestBody(
     *    @OA\MediaType(
     *      mediaType="application/json",
     *         @OA\Schema(
     *          @OA\Property(
     *            property="name",
     *            type="string"
     *          ),
     *          @OA\Property(
     *            property="email",
     *            type="string"
     *          ),
     *          @OA\Property(
     *            property="password",
     *            type="string"
     *          ),
     *          @OA\Property(
     *            property="password_confirmation",
     *            type="string"
     *          ),
     *          example={"name": "User Name", "email": "user@email.com", "password": "123456", 
     * "password_confirmation": "123456"}
     *          )
     *      )
     *     ),
     *      @OA\Response(
     *          response=200,
     *          description="OK"
     *    )
     * )
     */ 
    
2. Buka CMD ketik : php artisan swaggerdoc:scan
3. Pada browser buka http://localhost:8000/api-docs.html

Tidak ada komentar:

Posting Komentar