Utiliser swagger avec votre projet laravel

échangeons
D'autres articles

Table of Contents

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/

Coordonnées
Phone: 07 83 40 31 76
Email: me@karlverger.com
Lieux de travail

Sophia Antipolis – Paris – Bordeaux – Lyon – Full Remote