Ich habe eine statische Seite, die ich auf eine bestimmte URL bedingt liefern möchte.
Mit Spring-Boot kann ich Seiten in den Ressourcenverzeichnis static
oder public
platzieren und haben sie an alle gedient, aber wenn ich den Zugriff beschränken oder den Zugriff auf sie über eine Feature-Flag deaktivieren möchten, dann ist dies nicht geeignet.
Mithilfe einer Vorlagen-Engine kann ich die Seite als Vorlage laden und einen Verweis auf die Ansicht zurückgeben. Allerdings ist meine Anwendung ziemlich einfach und ich möchte keine Template-Engine nutzen, wenn ich sonst keine brauche.
Ich möchte in der Lage sein, einen Controller zu verwenden, um das Wetter zu bestimmen, auf dem die Seite bedient wird oder nicht. Was ist der einfachste Weg, wie eine Steuerung eine statische Seite zurückgibt?Spring-Boot - Bedingte statischen Inhalt ohne Vorlage-Engine
1
A
Antwort
1
Der einfachste Weg, den ich gefunden habe, um statische Inhalte von einem Controller zurückzugeben, ist die Rückgabe eines Resource
. Es gibt mehrere Implementierungen der Resource
Klasse, aber ClassPathResource
macht am meisten Sinn für eine Spring-Boot-App.
In einer normalen Spring-Boot-Anwendung zeigt das folgende Beispiel src/main/resources/path/to/mypage.html
an, wenn true
ist, und andernfalls 404.
@RequestMapping("mypage.html")
public Resource myPage() {
if(mycondition()) {
return new ClassPathResource("path/to/mypage.html");
} else {
throw new ResourceNotFoundException();
}
}
@ResponseStatus(HttpStatus.NOT_FOUND)
private static class ResourceNotFoundException extends RuntimeException {
public ResourceNotFoundException() {}
}
Verwandte Themen
- 1. MSF4J: Serving statischen Inhalt
- 2. Liferay - Serve statischen Inhalt
- 3. Inhalt einer statischen Bibliothek
- 4. Inhalt einer .a statischen Bibliotheksdatei
- 5. Jersey 2: render Swagger statischen Inhalt korrekt ohne Schrägstrich (/)
- 6. ASP.NET statischen Inhalt immer Caches
- 7. Bedingte Tenary ohne sonst
- 8. springboot Input
- 9. Wie HTML-Inhalt in mongodb über SpringBoot-Formular speichern
- 10. Dynamischen HTTP-Inhalt ernten, um statischen HTTP-Inhalt zu replizieren
- 11. Zeige statischen Inhalt mit Parametern mit Spray
- 12. Spring-Boot Trikot: erlauben Jersey statischen Inhalt
- 13. Serve statischen Inhalt mit Jersey 2.22.2
- 14. Serve Homepage und statischen Inhalt von root
- 15. GrizzlyWebServer + Spring + Jersey + statischen Inhalt aus JAR
- 16. Serving statischen Inhalt von Cookie-freie Domain
- 17. R: Shiny DownloadButton für statischen Inhalt
- 18. Embedded Jetty liefert statischen Inhalt mit Formularauthentifizierung
- 19. Zugriffssteuerung für statischen Inhalt von S3?
- 20. SpringBoot wie man die Reihenfolge des Filters ohne Annotation einstellt
- 21. HttpModule von der Ausführung für statischen Inhalt auf IIS7 ausschließen
- 22. Intellij + Springboot + Maven + gefederte
- 23. Java SpringBoot Exception Handling
- 24. Initialisiere jOOQ mit SpringBoot
- 25. SpringBoot: Komponententest mit Cassandra
- 26. Springboot CrudRepository autowiring Fehler
- 27. Springboot externalizing log4j Konfiguration
- 28. Springboot Unit Test Autowired
- 29. SpringBoot + Spring Security
- 30. Shaded Jar in Springboot
Erstellen Sie einen Filter, um den Zugriff zu steuern. So funktioniert auch Spring Security. – Andreas