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.
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.
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.
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%Wenn es als Header-Parameter kommt, verwenden Sie
%Vor%Wenn es in einem Modell kommt
%Vor%Tags und Links java spring spring-mvc