Pour certaines API REST écrites en PHP, on m'a demandé de créer de la documentation Swagger , et comme je ne connaissais aucun moyen simple d'ajouter des annotations à ces API existantes et de créer une telle documentation, j'ai utilisé cet éditeur pour en générer pour le moment.
J'ai enregistré les fichiers JSON et YAML créés à l'aide de cet éditeur, et maintenant je dois créer la documentation Swagger interactive finale (cette déclaration peut sembler naïve et vague).
Quelqu'un peut-il me faire savoir comment je peux convertir le fichier de spécification Swagger JSON en documentation Swagger réelle?
Je suis sur la plate-forme Windows et je ne sais rien sur Ant / Maven.
yaml
swagger
swagger-php
Salil
la source
la source
Réponses:
Je n'étais pas satisfait du
swagger-codegen
moment où je cherchais un outil pour le faire, alors j'ai écrit le mien. Jetez un œil à bootprint-swaggerL'objectif principal par rapport à
swagger-codegen
est de fournir une configuration facile (même si vous aurez besoin de nodejs). Et il devrait être facile d'adapter le style et les modèles à vos propres besoins, qui est une fonctionnalité de base de la Bootprint -projetla source
spectacle
génère une documentation bien meilleure à partir de swagger JSONEssayez d'utiliser redoc-cli .
J'utilisais Bootprint-OpenAPI par lequel je générait un tas de fichiers (
bundle.js
,bundle.js.map
,index.html
,main.css
etmain.css.map
) et vous pouvez le convertir en un seul.html
fichier en utilisant HTML en ligne pour générer simpleindex.html
fichier.Ensuite, j'ai trouvé redoc-cli très facile à utiliser et la sortie est vraiment géniale, un seul et beau fichier index.html .
Installation :
npm install -g redoc-cli
Utilisation :
redoc-cli bundle -o index.html swagger.json
la source
npx redoc-cli ...
est plus fiable.Découvrez pretty-swag
Il a
Je regardais Swagger Editor et pensais qu'il pouvait exporter le volet de prévisualisation, mais il s'est avéré qu'il ne le pouvait pas. J'en ai donc écrit ma propre version.
Divulgation complète: je suis l'auteur de l'outil.
la source
allOf
dans le document produitundefined
, même dans les scénarios les plus simples ("fusionner" un seul objet, équivalent à ne pas utiliserallOf
du tout).allOf
fonctionnalité pour vous. Vérifiez-le.Tout était trop difficile ou mal documenté, alors j'ai résolu cela avec un simple script swagger-yaml-to-html.py , qui fonctionne comme ça
python swagger-yaml-to-html.py < /path/to/api.yaml > doc.html
C'est pour YAML, mais le modifier pour qu'il fonctionne avec JSON est également trivial.
la source
Voir le projet swagger-api / swagger-codegen sur GitHub; le projet README montre comment l'utiliser pour générer du HTML statique. Voir Génération de la documentation de l'API HTML statique .
Si vous souhaitez afficher le swagger.json, vous pouvez installer l'interface utilisateur de Swagger et l'exécuter. Il vous suffit de le déployer sur un serveur Web (le dossier dist après avoir cloné le dépôt à partir de GitHub) et d'afficher l'interface utilisateur de Swagger dans votre navigateur. C'est une application JavaScript.
la source
J'ai passé beaucoup de temps et essayé beaucoup de solutions différentes - à la fin je l'ai fait de cette façon:
<html> <head> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/swagger-ui.css"> <script src="//unpkg.com/swagger-ui-dist@3/swagger-ui-bundle.js"></script> <script> function render() { var ui = SwaggerUIBundle({ url: `path/to/my/swagger.yaml`, dom_id: '#swagger-ui', presets: [ SwaggerUIBundle.presets.apis, SwaggerUIBundle.SwaggerUIStandalonePreset ] }); } </script> </head> <body onload="render()"> <div id="swagger-ui"></div> </body> </html>
Vous avez juste besoin d'avoir le chemin / vers / mon / swagger.yaml servi à partir du même endroit.
(ou utilisez les en-têtes CORS)
la source
Vous pouvez également télécharger swagger ui depuis: https://github.com/swagger-api/swagger-ui , prenez le dossier dist, modifiez index.html: changez le constructeur
const ui = SwaggerUIBundle({ url: ...,
dans
const ui = SwaggerUIBundle({ spec: YOUR_JSON,
maintenant le dossier dist contient tout ce dont vous avez besoin et peut être distribué tel quel
la source
Jetez un œil à ce lien: http://zircote.com/swagger-php/installation.html
Si vous avez besoin d'une autre aide, n'hésitez pas à demander.
la source
Il existe un petit programme Java qui génère des documents (adoc ou md) à partir d'un fichier yaml.
Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withMarkupLanguage(MarkupLanguage.ASCIIDOC) .withSwaggerMarkupLanguage(MarkupLanguage.ASCIIDOC) .withOutputLanguage(Language.DE) .build(); Swagger2MarkupConverter builder = Swagger2MarkupConverter.from(yamlFileAsString).withConfig(config).build(); return builder.toFileWithoutExtension(outFile);
Malheureusement, il ne prend en charge qu'OpenAPI 2.0 mais pas OpenAPI 3.0 .
la source
Pour Swagger API 3.0, générer du code client Html2 à partir de Swagger Editor en ligne fonctionne très bien pour moi!
la source
J'ai trouvé cet outil appelé api-html très utile. Cela génère une interface utilisateur html5 impressionnante avec beaucoup de possibilités.
Il existe des options pour générer en ligne ou via l' outil cli .
Voici un lien vers la version démo sur "api-html": pets-demo
la source