Closed rowe42 closed 6 years ago
Habe ein Problem festgestellt : wenn man einen RootController wie oben beschrieben ergänzt und unter / verfügbar macht, klappt das reload im api gateway nicht mehr. Vermutlich braucht das refresh die Weiterleitung von / zu /index.html. Ggf müssten wir also eine andere url verwenden, z. B. /paths
RootController ist erstellt. Um das o.g. Problem zu umgehen, ist der RootController sowie das komplette Backend und /api/ zu erreichen. Wurde mit Branch _#156 eingecheckt und gemerged. Schließe das Issue.
Es stellt sich die Frage, ob wir im API-Gateway eine HAL-Seite unter / (Root) anbieten. Und wenn ja, was darin bereitgestellt wird, z.B. alle verfügbaren Routen (i.e. Microservices).
Wie schon in Issue #78 erwähnt, habe ich in Branch _#78 im API-Gateway-Projekt meine einen RootController eingebaut, der unter / die folgende Seite liefert:
(das sind genau die Routen in der application.yml, musste ich aber von Hand in den Controller rein programmieren, siehe Klasse RootController)
Alternativ gibt es von Zuul auch einen Management Endpoint "Routes" (vgl. https://cloud.spring.io/spring-cloud-netflix/multi/multi__router_and_filter_zuul.html, Abschnitt "Management Endpoints"), der ist aber standardmäßig von Boot Actuator abgesichert. Man muss ihn also zugänglich machen, entweder indem der User die entsprechende Rolle ACTUATOR im KeyCloak hat oder indem man in der application.yml die Zeile
endpoints.routes.sensitive: false
ergänzt.Das Ergebnis sieht dann jedenfalls so aus:
Das enthält also die Pfade der Microservices, ist also wohl für unsere Zwecke nicht geeignet.
Was meint ihr, @xdoo @dragonfly28 @Baumfrosch @ejcsid