web-dev-qa-db-fra.com

swagger 2 spring boot générer un fichier yml

Je suis novice dans le domaine des contrats, des contrats et du travail sur le projet Spring Boot (Gradle) où nous commençons tout juste à traiter avec des contrats. J'ai utilisé des grails, j'aime la façon dont vous pouvez insérer des définitions de champ dans le domaine et les éléments en héritent. 

Une question spécifique et peut-être aussi une question de splanation à piggy. 

Comment générer un fichier de base d'un fichier YAML à partir de la classe de contrôleur standard? 

Je comprends que je suis censé créer un fichier [Nom] -v1-0.yml dans le répertoire controller\src\test\resources

J'ai implémenté swagger-ui.html dans le projet et une page Web interactive vraiment cool apparaît affichant les points de fin de requête et les éléments. Utiliser un class SwaggerConfig extends WebMvcConfigurerAdapter qui fonctionne pour publier les interfaces dans la page Web du document json doc. 

Je pense que la compréhension est que le fichier yml dans le répertoire de ressources de test sera une génération fixe de "contrats" et utilisé dans une sorte de méthode de test de niveaux pour s'assurer que la signature de l'API et les points de contrat n'ont pas changé, comme un junit de base. test de style de l'interface. (Oui Non?) 

Je suis paresseux en train de penser à moi-même, pourquoi suis-je en train de pirater ce fichier stupide? Est-ce qu’un squelette yaml doc peut être généré pour moi assez facilement à partir des détails du contrôleur/modèle? 

Par exemple, sur la page prend un fichier YML et fait la page conviviale de l’Ui: http://editor.swagger.io/#/

Il y a un très bel exemple de fichier YAML "uber" dans cette page. Dois-je vraiment écrire cela, j’ai déjà écrit le Contrôleur, javadoc, annoté, toutes sortes de choses intéressantes qui devraient pouvoir générer au moins un bon bout de départ de la yaml, (je vous en veux, Grails, de ne pas vouloir pirater ça!) C'est bien sûr avant de mettre des annotations SpringFox qui font plus de trucs sympas et qui vont vraiment en ville pour piloter davantage cette assurance de contrat de test. 

FYI: 'spring-boot-starter-web' 'spring-boot-starter-test' 'springfox-swagger-ui', version: '2.4.0'

7
ken

J? ai compris. Très simple, pourquoi n'ai-je pas vu cela nulle part? :) 

Copier/coller le chemin de la ressource dans le navigateur:

http://localhost:8095/v2/api-docs?group=full-api

Sélectionnez le contenu généré et copiez-le dans le presse-papiers.

Ouvrez l'éditeur Swagger dans un navigateur:

http://editor.swagger.io

Sélectionnez Coller JSON… dans le menu Fichier.

Collez le contenu Swagger JSON généré et cliquez sur Importer.

12
ken

Il existe une demande de fonctionnalité pour fournir une représentation yaml des spécifications: https://github.com/springfox/springfox/issues/651

Outre le progrès, il n'est pas encore disponible

2
Didac Montero