Comment exporter un Swagger JSON/fichier YAML de Swagger l'INTERFACE utilisateur?
Comment puis-je exporter un Swagger fichier de définition (il doit être au format JSON ou YAML)? Je me demande pour de telles et j'ai peu de connaissances sur Swagger.
Nous avons un point de terminaison de la recherche comme http://example.com//swagger/ui/index#!
qui ressemble à ceci (la capture d'écran n'est pas notre véritable point de terminaison cependant, je ne peux pas poster ça):
La version est api version: v1
.
Il n'y a pas de bouton "Exporter" que je peux voir. Alors, comment puis-je exporter?
Vous devez vous connecter pour publier un commentaire.
L'URL de l'API, la définition donnée est affichée dans la barre du haut de la Supériorité de l'INTERFACE utilisateur dans votre exemple, il est
Donc l'URL complète semble être
Dans les versions plus récentes de Style de l'INTERFACE utilisateur, le lien à la définition de l'API est souvent affichées ci-dessous le titre de l'API, de sorte que vous pouvez droit-cliquez sur le lien et Enregistrer sous.
Si votre Swagger UI n'ont pas de lien visible à la définition de l'API, d'afficher le code source de la page et de regarder pour la
url
de paramètres, tels que:Si vous ne voyez pas le
url
ou siurl
est un code d'expression, ouvrez le navigateur outils de dev, passer à la Réseau onglet et de désactiver la mise en cache. Puis actualisez la page et de recherche pour la définition de l'API de fichier (swagger.json
,swagger.yaml
,api-docs
ou similaire) parmi les requêtes HTTP. Vous pouvez filtrer par XHR se rétrécir en bas de la liste./api/swagger/docs/v2
, il peut être à peu près n'importe quoi. Utilisez le XHR filtre dans les outils de dev pour trouver le lien vers votre définition de l'API de fichier.Le JSON peut également être insérée dans le document, en particulier pour Swagger version 2.0. Si vous n'avez rien trouvé après une marche à travers @Hélène réponse donner à ceci un essai:
"swagger"
ou"spec"
Si vous voyez un
<script type="application/json">
tag avec quelque chose de semblable à ce qui suit, c'est effectivement votreswagger.json
de contenu. Copie le tout à l'intérieur de la<script>
les balises et les enregistrer dans un fichier nommé style.json et vous devriez être bon d'aller.Si ça a déjà été répondu et c'est la bonne, j'ai pensé que je poste beaucoup détaillé de la version de celui-ci.. Espérons que cela aide,
lien : https://editor.swagger.io/#
Ouvrir l'arrogance de l'interface utilisateur, inspecter (Maj+Ctrl+i), actualisez la page et vous obtiendrez les onglets ci-dessous
Choisir XHR ou de la totalité de l'onglet sous Réseau onglet général, recherchez le fichier api-doc?groupe=* et cliquez sur le sous-onglet réponse. *Maintenant de copier le contenu de l'ap-doc?du groupe.** fichier et utiliser le même éditeur de lien pour convertir fichier yaml
lien : https://editor.swagger.io/#
Je suis en utilisant Django Rest Framework (donc
pip
paquetdjango-rest-swagger==2.2.0
) et les réponses ci-dessus n'étaient pas vraiment suffisant. Il y avait deux options:1) Afficher le code source de la page avec les outils de développement. Quand j'ai touché mon
http://localhost:8000/docs/
point de terminaison, je vois:La
docs/
point de terminaison a été configuré dans Django, de sorte qu'il peut être différent pour vous. En creusant dans les détails, je peux aller à l'onglet Réponse (Chromé) et faites défiler vers le bas pour trouver le JSON. C'est la valeur enwindow.drsSpec
2) L'alternative (et peut-être plus simple) consiste à ajouter
?format=openapi
de mon point de terminaison, comme suggéré dans https://github.com/marcgibbons/django-rest-swagger/issues/590Ce sera directement cracher le JSON dont vous avez besoin. J'ai importé en Postier en changeant la
swagger
champ deopenapi
qui me semble un peu hacky mais il a travaillé ♂️