Grails UrlMapping Redirect um DRY zu behalten

8

Ich arbeite mit Grails 2.1.1 und möchte eine Handvoll angepasster URLs hinzufügen, die Controller-Aktionen zugeordnet sind.

Ich kann das machen, aber das ursprüngliche Mapping funktioniert immer noch.

Ich habe beispielsweise ein Mapping add-property-to-directory in meinem UrlMappings wie folgt erstellt:

%Vor%

Nun kann ich /mysite/add-property-to-directory und PropertyController.create ausführen, wie ich es erwarten würde.

Allerdings kann ich /mysite/property/create noch treffen und es wird die gleiche PropertyController.create -Methode ausgeführt.

Im Sinne von DRY möchte ich eine 301 Redirect von /mysite/property/create bis /mysite/add-property-to-directory machen.

Ich konnte keinen Weg finden, dies in UrlMappings.groovy zu tun. Kennt jemand eine Art, wie ich das in Grails erreichen kann?

Vielen Dank!

AKTUALISIEREN

Hier ist die Lösung, die ich basierend auf Toms Antwort implementiert habe:

UrlMappings.groovy

%Vor%

RedirectController.groovy

%Vor%     
Philip Tenn 27.09.2012, 02:14
quelle

2 Antworten

3

Es ist möglich, dies zu erreichen:

%Vor%

und in der Aktion erhalten Sie die Werte normalallny in params:

%Vor%     
Tom Metz 27.09.2012, 08:41
quelle
0

Ab Grails 2.3 ist es möglich, Redirects direkt in den UrlMappings auszuführen, ohne dass ein Redirect-Controller benötigt wird. Wenn Sie also jemals ein Upgrade durchführen, können Sie in UrlMappings wie in der Dokumentation umleiten >:

%Vor%

Anforderungsparameter, die Teil der ursprünglichen Anforderung waren, werden in die Umleitung eingeschlossen.

    
AEvans 31.07.2017 16:51
quelle

Tags und Links