Mam kontroler rozruchu sprężyn, jednym z moich parametrów jest Enum. Wyliczenie ma wartość ciągu. Chciałbym jako parametr przekazać wartość enumu i kontrolera, by dać mi Enum. Czy można to zrobić?Spring Boot Controller - parametr Enum jako wartość
@RequestMapping(value = "/")
public MyResponse getResponse (@RequestParam(value = "version") final ProjectVersion version) {
...bla bla bla...
}
public enum ProjectVersion {
VERSION_1 ("1.00")
VERSION_2 ("2.00")
private final String version;
ProjectVersion (String version) {
this.version = version;
}
@Override
public String toString() {
return this.version;
}
}
Chcę, aby móc złożyć wniosek w następujący sposób:
http://myhost.com/mypath?version=1.00
I dostać w sterowniku ProjectVersion.VERSION_1
Jakieś pomysły?
Tak, z niestandardowym serializatora. Zobacz to, dokładnie twój przypadek: http://stackoverflow.com/questions/7766791/serializing-enums-with-jackson –
Jeśli przekażesz 'VERSION_1' to zadziała, jeśli przekażesz wartość wewnętrzną to nie będziesz wtedy trzeba samemu stworzyć niestandardowy konwerter. –