2012-02-22 10 views
7

Me gustaría poder crear una página que enumere las asignaciones que fueron descubiertas por los controladores anotados con @Controller. Estoy haciendo esto para los servicios REST que nos permiten encontrar fácilmente los puntos finales disponibles para la instancia en una página.¿Hay alguna manera de recuperar información sobre asignaciones de primavera definidas por @Controller?

Hasta ahora he estado haciendo esto manualmente, aunque si es posible crear un controlador que publique esto en un formato agradable, sería muy beneficioso.

La información clave que busco es

  • final del URI
  • Método (GET|POST|DELETE|...)
  • Parámetros
  • encabezados

Tener acceso a esta información en el que podía crear una La vista JSP sería ideal.

Respuesta

8

Con Spring 3.1, hay una nueva característica denominada "documentación de punto final". Lo único que pude encontrar fue un código en el spring-mvc-31-demo sample app. Consulte el ejemplo controller y JSP. Parece bastante sencillo.

+0

Perfecto, exactamente lo que estaba buscando. Gracias nickdos! –

1

Consulte este doclet personalizado https://github.com/rightshift/spring-mvc-api-doclet. Creará documentación de punto final para todas las clases anotadas Spring MVC @Controller. Se pueden crear plantillas personalizadas para producir diferentes resultados HTML. El nuevo nombre de la plantilla solo debe pasarse como un parámetro opcional. También se puede agregar como un conjunto de informes a la sección de informes de su magen pom.

+0

Suena interesante, posiblemente algo que podría incrustarse para generar resultados en HTML. Necesitaba mi documentación generada sobre la marcha desde la propia aplicación. Hay una página de administración que permite a un administrador ver todos los puntos finales y sus detalles de seguridad para permitir la aplicación de requisitos de roles en tiempo de ejecución. –

+0

Ah bien, caso de uso ligeramente diferente, entonces supongo. –

+0

Sigue siendo una buena idea, buen trabajo. Si pudiera sugerir que todo estaría bien si su expediente tomara una configuración e introspeccione todas las clases anotadas por @Controller en lugar de tener que usar parámetros de comando –

Cuestiones relacionadas