2016-05-04 5 views
-1

Ich habe eine Spring Boot App, die einige Controller und statische Ressourcen enthält. Ich muss in der Lage, einen Controller haben, die übereinstimmt:Spring MVC @PathVariable nur erste Ebene zu fangen

/hallo

und

/hallo/

aber nicht

/Wunder/Hallo

(oder irgendetwas anderes). Es scheint, dass wenn ich die folgende Abbildung:

@RequestMapping(value = "/{slug}", method = RequestMethod.GET) 
public String mapping(@PathVariable("slug") String slug) 

es tut einem „catch-all“, während ich brauche es nur die erste Stufe zu fangen. Dies verursacht Probleme bei der statischen Ressourcenzuordnung.

+1

Haben Sie Ihren Controller getestet? Es passt perfekt zu Ihrer Anforderung. –

+1

Es funktioniert nicht, wenn Sie statische Ressourcen in Ihrem Projekt haben. Sie werden nicht abgeholt. – checklist

+0

Ich habe es nicht gewählt. Ich denke, es ist besser, den Ressourcen-Handler so zu konfigurieren, dass er statische Ressourcen mit einem Präfix wie '/ static' versorgt. –

Antwort

0

Verwenden Sie @RequestMapping ("/ hallo") beim Starten des Controllers

+0

Ich brauche Wild-Path-Mapping. – checklist

+0

Was genau ist der Wild Path Mapping? –

+0

Dies ist eigentlich die richtige Antwort auf Ihre Frage - aber meinen Sie, dass Sie eigentlich "/ hallo" und/hallo/** "zuordnen müssen? (Wenn ja, wäre das zweite Beispiel intuitiver, wenn Sie mehr von der URL zur Verfügung stellen)) – rhinds