2010-11-22 18 views
8

Estaba buscando una herramienta de documentación de la API REST tipo javadoc. Ya documenté mis controladores de reposo en javadoc y creo que sería bueno crear una API de los desarrolladores front-end.herramienta similar a javadoc para spring-mvc rest api documentation?

Creo que todavía no hay una herramienta. Entonces, ¿alguien tiene ideas de cómo lograr esta tarea? Pensé en usar la herramienta clásica de javadoc y agregar un poco de spring/rest specific logic. Pero aún no estoy seguro de si también necesito un margen de beneficio especial o lo que podrían ser riesgos. Al final me gustaría tener alguna herramienta que pueda ser integrada en el ciclo de vida del sitio de maven, pero eso no debería ser difícil de lograr.

Puede ser difícil manejar la herencia: la uso mucho en los recursos de REST, pero para el lector, la herencia no es nada que le interese. Por lo tanto, los subcontroladores deben de alguna manera integrar los métodos de los supercontroladores, pero también ser capaces de crear alguna documentación significativa en el contexto del controlador real. No estoy seguro de si la primavera me permite sobrescribir los métodos de los supercontroladores, pero todavía evalúa sus anotaciones.

Agradecería cualquier sugerencia sobre proyectos relacionados, herramientas que ya existan o solo su experiencia con la herramienta javadoc.

Respuesta

1

Si desea hacerlo usted mismo, usted podría acercarse a él de esta manera:

  1. Crear una implementación AnnotationReader que escanea para los diversos @Path anotaciones
  2. prueba de que es capaz de leer el atributo
  3. name
  4. Cree un Maven mojo que envuelva esta funcionalidad de escaneo
  5. Agregue la facilidad para mapear los parámetros de expresiones regulares (ej. {customerId}) en algo significativo para fines de documentación, tal vez leyendo el Javadoc asociado.

El lector de anotaciones no tendrá que hacer ninguna modificación en las anotaciones existentes, por lo que debería ser fácil crear una lista de las expresiones regulares de punto final. En combinación con los Javadocs, debería poder crear una herramienta útil. Ciertamente lo encontraría útil, y tal vez otros también lo harían.

+0

Espero que Enunciate funcione para la primavera, pero sus opciones parecen una buena manera de hacerlo desde cero. – Jan

+0

Estado actual: lo hacemos solos usando la API de Doclet. Si alguien más quiere contribuir, podríamos configurar un svn público en alguna parte y compartir recursos. – Jan

+0

Hola Jan, estoy interesado en cómo estás haciendo esto. Probablemente vamos a migrar nuestra API basada en Restlet a Spring MVC (aunque también estamos buscando soluciones compatibles con JSR 311/JAX-RS). Ser capaz de generar su documentación API REST con la facilidad de Javadocs para sus interfaces de código es realmente el último paso en la integración de API REST en el ciclo de desarrollo, creo. –

1

Enunciate, que funciona bastante bien con Jersey/CXF, pero no sé si lo hace con SpringMVC.

+0

al menos se menciona la primavera. Parece prometedor. Configuraré una prueba – Jan

+2

Lamentablemente, todavía no es compatible con las anotaciones de primavera de WEB-MVC. – Jan

Cuestiones relacionadas