Comment faire pour automatiser la documentation de l'API REST (Maillot de mise en Œuvre)

J'ai écrit un assez vaste, API REST en Java Jersey (et JAXB). J'ai également écrit la documentation à l'aide d'un Wiki, mais sa fait un totalement processus manuel, ce qui est très enclin à l'erreur, surtout quand nous avons besoin de faire des modifications, les gens ont tendance à oublier de mettre à jour le wiki.

De regarder autour, la plupart des autres RESTE de l'API sont également manuellement la création de leur documentation. Mais je me demandais si il y a peut-être une bonne solution pour cela.

Le genre de choses qui doivent être documentées pour chaque point de terminaison sont:

  • Service De Nom
  • Catégorie
  • URI
  • Paramètre
  • Les Types De Paramètre
  • Types De Réponse
  • De réponse Type de Schéma (XSD)
  • Les demandes d'échantillons, et les réponses
  • Le type de la requête (Get/Put/Post/Delete)
  • Description
  • Les codes d'erreur qui peuvent être retournés

Et puis bien sûr, il ya quelques choses générales qui sont de portée mondiale, tels que

  • De sécurité
  • Aperçu de REPOS
  • Erreur de manipulation
  • Etc

Ces choses sont très bien pour décrire une fois et n'ont pas besoin d'être automatisé, mais pour les méthodes de service web eux-mêmes, il semble hautement souhaitable de l'automatiser.

J'ai pensé peut-être à l'aide d'annotations, et à écrire un petit programme qui génère le XML, puis une transformation XSLT qui devrait générer la documentation disponible au format HTML. Est-il plus logique d'utiliser des XDoclet?

  • Enunciate.codehaus.org tire la documentation à partir de la documentation Javadoc: il est open source et fonctionne avec Jersey, de sorte que vous pourriez peut-être regarder à cela?
  • double possible de API RESTful de Documentation
  • J'ai été en utilisant énoncer quelques années maintenant et il a quelques bizarreries. Il ne gère pas les types personnalisés si bien et devient tout à fait confus avec résumé otd. Enfait, je suis sur ce post droit maintenant à la recherche pour son remplacement