pour ce faire il nous suffit d’installer le package l5-swagger avec la commande suivante :
composer require "darkaonline/l5-swagger"
puis de publier la configuration avec la commande suivante :
php artisan vendor:publish --provider "L5Swagger\L5SwaggerServiceProvider"
Maintenant que le package laravel swagger est installé, il ne reste plus qu’a déclarer la classe du controller root avec la configuration suivante :
/**
* @OA\Info(
* title="Your super ApplicationAPI",
* version="1.0.0",
* )
*/
puis de configurer au moins une méthode d’un de vos controller api, ici nous documentons une methode post de login :
/**
* @OA\Post(
* path="/login",
* summary="Sign in",
* description="Login by email, password",
* operationId="authLogin",
* tags={"auth"},
* @OA\RequestBody(
* required=true,
* description="Pass user credentials",
* @OA\JsonContent(
* required={"email","password"},
* @OA\Property(property="email", type="string", format="email", example="user1@mail.com"),
* @OA\Property(property="password", type="string", format="password", example="PassWord12345"),
* @OA\Property(property="persistent", type="boolean", example="true"),
* ),
* ),
* @OA\Response(
* response=422,
* description="Wrong credentials response",
* @OA\JsonContent(
* @OA\Property(property="message", type="string", example="Sorry, wrong email address or password. Please try again")
* )
* )
* )
*/
Pour l’ensemble de la documentation et des paramètres fournis par open api, vous pouvez vous référer ici https://swagger.io/specification/