2017-09-09 2 views
1

Ich arbeite an Spring Boot-Anwendung. Das allgemeine Problem ist das folgende: Ich habe REST API, ein paar Controller erstellt. Ich habe jedoch auch einige statische HTML-Dateien, die sich in "resources/static" befinden.Benutzerdefinierter Pfad, der statische Ressourcen auflöst Frühling

Was ich erreichen möchte, ist Spring Resolver zu konfigurieren, so dass ich auf statischen Inhalt zugreifen konnte, ohne ".html" anzuhängen. Auf der Praxis erwarte ich, dass statische HTML-Zugriff auf durch Pfad „ip: port/htmlpage“ anstelle von „ip: port/htmlPage.html“

Allerdings möchte ich nicht Methoden wie diese erstellen:

@Controller 
public class ViewMaster { 
@RequestMapping("/home") 
public String home() { 
    return "home"; 
} 

also Eigenschaften wie

spring.mvc.view.suffix=.html 

nicht für mich arbeiten. Gibt es Möglichkeiten, den Endpunkt pro Seite in einem Controller zu vermeiden?

+0

So wie planen die Anforderungen an die Controller? – mirmdasif

+0

@mirmdasif, zum Beispiel: Anfragen nach "statisch" (alles andere) von statischen Ressourcen Ansicht Resolver, sonst - Suche nach REST-Endpunkten – quento

Antwort

2

Nach dem Lesen Ihrer Frage habe ich viel versucht, aber nicht in der Lage, HTML aus statischen Ordner ohne Erweiterung zu dienen. Was funktioniert für mich ist es, eine @RequestMapping wie diese zu erstellen:

@RequestMapping(value="/static/{htmlName}") 
String getStaticHtml(@PathVariable String htmlName){ 
    return htmlName; 
} 

Und bewegt HTML-Dateien zu templates Ordner. Es ist also nicht notwendig, verschiedene Endpunkte für den Zugriff auf HTML-Seiten zu erstellen, übergeben Sie einfach den Namen von HTML ohne Erweiterung und das wird den Trick

+0

gut, das ist immer noch viel besser, thx – quento

Verwandte Themen