Différences
Ci-dessous, les différences entre deux révisions de la page.
| 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 18:05] thierry [Swagger] |
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 12: | 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 34: | 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 76: | ||
| */ | */ | ||
| </code> | </code> | ||
| + | |||
| + | ==== 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'' | 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\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 | ||
| Ligne 59: | Ligne 88: | ||
| </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 76: | Ligne 106: | ||
| </code> | </code> | ||
| - | 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> | ||
| ===== Test ===== | ===== Test ===== | ||
| On se rends sur l'URL ''http://127.0.0.1:8000/swagger/'' et on devrait obtenir cela : | On se rends sur l'URL ''http://127.0.0.1:8000/swagger/'' et on devrait obtenir cela : | ||