2012-02-22 14 views
7

Chciałbym móc utworzyć stronę, która zawiera listę mapowań wykrytych przez kontrolery opatrzone komentarzem: @Controller. Robię to dla usług REST, który pozwala nam łatwo znaleźć punkty końcowe dostępne dla instancji na stronie.Czy istnieje sposób na uzyskanie informacji o odwzorowaniach sprężyn zdefiniowanych przez @Controller?

Do tej pory robiłem to ręcznie, ale jeśli możliwe jest stworzenie kontrolera, który ładnie opublikuje to w przyjemnym formacie, byłoby to bardzo korzystne.

Kluczowe informacje Jestem po to

  • Endpoint URI
  • metodą (GET|POST|DELETE|...)
  • Params
  • Główki

Mając dostęp do tych informacji, gdzie można utworzyć Widok JSP byłby idealny.

Odpowiedz

8

Wraz ze sprężyną 3.1 pojawia się nowa funkcja określana jako "dokumentacja końcowa". Jedyne, co mogłem znaleźć, to kod w spring-mvc-31-demo sample app. Zobacz przykład controller i JSP. Wydaje się całkiem proste.

+0

Idealne, dokładnie to, czego szukałem. Dzięki nickdos! –

1

Sprawdź ten niestandardowy dokument https://github.com/rightshift/spring-mvc-api-doclet. Będzie tworzyć dokumentację punktów końcowych dla wszystkich klas z adnotacjami Spring MVC @Controller. Niestandardowe szablony można tworzyć w celu generowania różnych danych wyjściowych HTML. Nazwa nowego szablonu musi zostać przekazana jako opcjonalny parametr. Można go również dodać jako raport do sekcji raportowania twojego mavenona.

+0

Brzmi interesująco, prawdopodobnie coś, co można osadzić w celu wygenerowania wyjścia HTML. Potrzebowałem mojej dokumentacji wygenerowanej w locie z poziomu samej aplikacji. Istnieje strona administratora, która umożliwia administratorowi przeglądanie wszystkich punktów końcowych i ich szczegółów zabezpieczeń, aby umożliwić stosowanie wymagań ról w środowisku wykonawczym. –

+0

Ach, w porządku, nieco inny przypadek użycia, jak sądzę. –

+0

Nadal jest to świetny pomysł, dobra robota. Gdybym mógł zasugerować, choćby był w porządku, jeśli twój zestaw wziąłby konfigurację i wykonał introspekcję wszystkich adnotowanych klas @Controller zamiast używać paramerów poleceń –

Powiązane problemy