Tôi có bộ điều khiển khởi động lò xo, một trong các tham số của tôi là một Enum. Enum có giá trị chuỗi. Tôi muốn vượt qua như tham số giá trị của enum và bộ điều khiển để cho tôi Enum. Điều này có thể được thực hiện?Bộ điều khiển khởi động mùa xuân - Tham số enum dưới dạng Giá trị
@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;
}
}
Tôi muốn có thể để thực hiện một yêu cầu như sau:
http://myhost.com/mypath?version=1.00
Và nhận được trong bộ điều khiển các ProjectVersion.VERSION_1
Bất kỳ ý tưởng?
Vâng, với serializer tùy chỉnh. Xem trường hợp này, chính xác trường hợp của bạn: http://stackoverflow.com/questions/7766791/serializing-enums-with-jackson –
Nếu bạn vượt qua 'VERSION_1', nó sẽ hoạt động, nếu bạn vượt qua giá trị nội bộ, bạn sẽ không cần tự tạo trình chuyển đổi tùy chỉnh. –