2012-02-22 11 views
7

Mi piacerebbe essere in grado di creare una pagina che elenca i mapping rilevati dai controllori annotati con @Controller. Lo sto facendo per i servizi REST che ci consente di trovare facilmente gli endpoint disponibili per l'istanza in una pagina.C'è un modo per recuperare informazioni sui mapping di primavera definiti da @Controller?

Finora ho manualmente fatto questo, anche se è possibile creare un controller che pubblica questo in un formato piacevole piacevolmente che sarebbe molto utile.

informazioni chiave che sto cercando è

  • Endpoint URI
  • Method (GET|POST|DELETE|...)
  • Parametri
  • intestazioni

Avere accesso a queste informazioni dove ho potuto creare un La vista JSP sarebbe l'ideale.

risposta

8

Con Spring 3.1, esiste una nuova funzionalità denominata "documentazione del punto finale". L'unica cosa che ho trovato era un codice nello spring-mvc-31-demo sample app. Fare riferimento all'esempio controller e JSP. Sembra piuttosto semplice.

+0

Perfetto, esattamente quello che stavo cercando. Grazie, nickdos! –

1

Controlla questa doclet personalizzata https://github.com/rightshift/spring-mvc-api-doclet. Creerà la documentazione dell'endpoint per tutte le classi annotate di Spring MVC @Controller. È possibile creare modelli personalizzati per produrre output HTML diversi. Il nuovo nome del modello deve essere passato come parametro opzionale. Può anche essere aggiunto come rapporto alla sezione di segnalazione del tuo maven pom.

+0

I suoni sono interessanti, forse qualcosa che potrebbe essere incorporato per generare output HTML. Avevo bisogno della mia documentazione generata al volo dall'app stessa. C'è una pagina di amministrazione che consente a un amministratore di vedere tutti gli endpoint e i relativi dettagli di sicurezza per consentire l'applicazione dei requisiti di ruolo in fase di runtime. –

+0

Ah ok, caso d'uso leggermente diverso, suppongo. –

+0

Ancora una volta è una buona idea, buon lavoro. Se potessi suggerire anche se sarebbe bello se il tuo account prendesse una configurazione e introspe tutte le classi annotate da @Controller invece di dover usare i parametri di comando –

Problemi correlati