Binde UUID im Frühjahr MVC

7

Was ist der einfachste Weg, um eine UUID in Spring MVC zu binden, so dass dies funktioniert:

%Vor%

Unter Verwendung des oben genannten bekomme ich momentan die folgende Ausnahme:

%Vor%

Es gibt andere Fragen zu SO, die sich darum drehen, aber keine scheint darauf zu antworten. Ich benutze Spring 3.latest (4 EA tatsächlich). Ich bin auf dem neuesten, einfachsten Weg, dies zu erreichen.

    
Kong 04.12.2013, 03:35
quelle

3 Antworten

15

UUID ist eine Klasse, die nicht einfach instanziiert werden kann. Unter der Annahme, dass es sich um einen Anfrageparameter handelt, sollten Sie das Argument zuerst mit @RequestParam annotieren.

%Vor%

Nun erwartet dies, dass ein Anfrageparameter mit dem Namen id in der Anfrage verfügbar sein soll. Der Parameter wird in ein UUID konvertiert. Im Moment wird dies jedoch fehlschlagen, da derzeit keine Konvertierung von String in UUID möglich ist.

Dafür erstellen Sie eine Converter , die dies tun kann.

%Vor%

Haken Sie diese Klasse bis zum ConversionService und Sie sollten UUID-Konvertierung für Anfrageparameter haben. (Dies würde auch funktionieren, wenn es ein Anforderungsheader wäre, im Grunde genommen für alles, was auf ConversionService zugreift). Vielleicht möchtest du auch eine Converter für den anderen Weg haben (UUID - & gt; String).

Die Verbindung zu Spring MVC ist in das Referenzhandbuch (vorausgesetzt, Sie verwenden xml config). Aber kurz gesagt:

%Vor%     
M. Deinum 04.12.2013, 07:07
quelle
4

Der folgende Konverter ist in Spring Framework (Core) seit Version 3.2 verfügbar.

%Vor%     
izilotti 15.07.2014 17:37
quelle
1

Wenn es als Header-Parameter kommt, verwenden Sie

%Vor%

Wenn es in einem Modell kommt

%Vor%     
Abhishek Anand 04.12.2013 03:48
quelle

Tags und Links