34 votes

Documentation Spring REST API à l'aide de Swagger

Je recherche un outil qui pourrait m'aider à générer de la documentation sur l'API RESTful. Mon serveur est écrit en Java et utilise le framework Spring MVC. Je n'ai pas de vues sur mon serveur. C'est un service 100% RESTful qui consomme du JSON et le crache.

Je me demandais si Swagger est compatible avec les annotations Spring.

21voto

fehguy Points 1096

Il n'y a pas actuellement de Spring MVC swagger module disponible (à partir de Wordnik au moins), mais en général, l'activation de swagger sur une JVM REST service est assez simple.

Swagger en charge de serveur est divisé en deux parties-le serveur de base de l'intégration avec le RESTE du service. Voir le Swagger dépôt github. Swagger core définit le document qui représente le RESTE du service, les paramètres, les valeurs admissibles, HTTP, etc. Le serveur d'intégration fils de ce document à la structure du RESTE du cadre. Wordnik utilise Jersey par JAX-RS et publié swagger-jaxrs à faire cette intégration. Il y a aussi un Swagger-Play module qui sera publié au Jeu référentiel de module peu de temps.

Si vous souhaitez activer swagger sur un autre REPOS cadre (comme Spring MVC), vous procédez comme suit:

1) Générer une API de Lecteur pour générer un com.wordnik.swagger.de base.La Documentation de l'objet. Voir le JAX-RS version ainsi que le un pour jouer.

2) Créer un point de terminaison REST qui renvoie un JSON/XML version de la Documentation de l'objet pour le client. Encore une fois, JAX-RS et jouer.

3) Ajouter un filtre à intercepter les demandes d'appliquer de la ressource ou de l'objet au niveau de l'accès.

Donc en bref, il pourrait être mis en place assez facilement.

20voto

Marty Pitt Points 8239

Une mise en œuvre Swagger-SpringMVC est en cours ici et des exemples ici .

La spécification v1.2 est entièrement implémentée et prise en charge (c’est-à-dire que les modèles sont générés, avec prise en charge intégrale des génériques) et fait actuellement l’objet d’un développement actif.

5voto

Waggins Points 154

Une autre implémentation de Swagger for Spring MVC est swagger4spring-web .

Elle est similaire à Swagger-SpringMVC et prend en charge toutes les annotations Swagger. Elle génère un schéma JSON pour les types et les paramètres de retour. Cela fonctionne également sans annotations swagger.

3voto

Miranda Points 434

Si vous êtes seulement après la génération interactive de l'API de document (sans besoin de wiki collaboration dans le style), I/O Docs serait une meilleure solution nécessite beaucoup moins d'effort à mettre en place, à utiliser et à personnaliser, à mon humble avis.

Il est en cours d'exécution sur nodejs et Redis. Il vous suffit d'écrire un JSON schema de votre API et génère un code HTML/JS site qui décrit votre API et permet aux développeurs de jouer avec elle en live à partir de leur navigateur.

J'ai l'intention d'héberger mon API sur mon serveur (comme nécessitant une personne pour installer 2 autres logiciels juste pour afficher l'API serait de la folie), mais le JSON schéma lui-même a déjà un agréable lisible et structure compacte qui, je pense, serait suffisant pour la collaboration avec d'autres programmeurs. C'est un petit projet.

Il y a une question similaire, vous voudrez peut-être vérifier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X