Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:theorie:api:swagger [20/10/2019 17:53]
thierry [Installation]
prog:theorie:api:swagger [18/10/2022 11:29] (Version actuelle)
thierry ↷ Page déplacée de prog:api:swagger à prog:theorie:api:swagger
Ligne 4: Ligne 4:
  
 Cela peut fonctionner dans PHP avec la librairie ''​swagger-php''​ qui va permettre a travers des **annotations** PHP de générer la documentation. Cela peut fonctionner dans PHP avec la librairie ''​swagger-php''​ qui va permettre a travers des **annotations** PHP de générer la documentation.
 +<​note>​L'​exemple ici est donné sous un projet Symfony et sous Windows</​note>​
  
  
Ligne 11: Ligne 12:
  
 [[https://​www.youtube.com/​watch?​t=1125&​v=no0y4ISItiw|Vidéo pour Installer Swagger-UI]] [[https://​www.youtube.com/​watch?​t=1125&​v=no0y4ISItiw|Vidéo pour Installer Swagger-UI]]
 +
 +=== Petite modification ===
 +Par defaut l'UI pointe sur un fichier ''​https://​petstore.swagger.io/​v2/​swagger.json''​.
 +
 +Il faut faire cette petite modification du code de la page HTML pour le faire pointer vers le fichier ''​public/​swagger/​swagger.json''​
 +
 +On modifie le code de la page HTML ''​public/​swagger/​index.html''​
 +
 +On remplace ''​url:​ "​https://​petstore.swagger.io/​v2/​swagger.json",''​ par ''​url:​ "​swagger.json",''​
 +
 +<code php>
 + ​window.onload = function() {
 +      // Begin Swagger UI call region
 +      const ui = SwaggerUIBundle({
 +        url: "​swagger.json", ​      <<<<<​ ICI ON MODIFIE L'URL
 +        dom_id: '#​swagger-ui',​
 +        deepLinking:​ true,
 +        presets: [
 +          SwaggerUIBundle.presets.apis,​
 +          SwaggerUIStandalonePreset
 +        ],
 +</​code>​
  
 ==== Installer la commande swagger-php ==== ==== Installer la commande swagger-php ====
Ligne 33: Ligne 56:
 Executing script assets:​install public [OK] Executing script assets:​install public [OK]
 </​code>​ </​code>​
-==== Configurer le projet ====+===== Configurer le projet ​=====
 dans votre projet creer un dossier ''​swagger''​ dans votre projet creer un dossier ''​swagger''​
 +==== Le fichier source swagger.php ====
 +
  
 Dans ce dossier créer un fichier ''​swagger.php''​ qui contiendra les infos de bases de vos APIs sous forme d'​Annotations Dans ce dossier créer un fichier ''​swagger.php''​ qui contiendra les infos de bases de vos APIs sous forme d'​Annotations
Ligne 52: Ligne 77:
 </​code>​ </​code>​
  
-Executer la commande ''​vendor\bin\openapi.bat --format json --output public\swagger.json swagger\swagger.php src ''​ pour generer un fichier JSON (swagger.json) de description des vos API dans le dossier ''​public''​+==== Compilation du fichier en json ==== 
 + 
 + 
 +Executer la commande ''​vendor\bin\openapi.bat --format json --output public\swagger\swagger.json swagger\swagger.php src ''​ pour generer un fichier JSON (swagger.json) de description des vos API dans le dossier ''​public''​ 
 + 
 <​code>​ <​code>​
-D:​\webprojects\test-api-project>​vendor\bin\openapi.bat --format json --output public\swagger.json swagger\swagger.php src +D:​\webprojects\test-api-project>​vendor\bin\openapi.bat --format json --output public\swagger\swagger.json swagger\swagger.php src 
 Required @OA\PathItem() not found Required @OA\PathItem() not found
 </​code>​ </​code>​
  
 +==== Resultats swagger.json ====
 Le fichier généré est celui là : Le fichier généré est celui là :
 <code json swagger.json>​ <code json swagger.json>​
Ligne 74: Ligne 105:
 } }
 </​code>​ </​code>​
 +
 +
 +===== Test =====
 +On se rends sur l'URL ''​http://​127.0.0.1:​8000/​swagger/''​ et on devrait obtenir cela :
 +
 +{{:​prog:​api:​swagger1.png|}}