Sé libre de compartir nuestro espacio y códigos con otro, ayúdanos a ampliar esta comunidad.
Solución:
puede ver la clase org.springframework.core.convert.support.StringToEnumConverterFactory, por lo que puede personalizar convertidorFactory de esta manera.
public class MyStringToEnumConverterFactory implements ConverterFactory
@Override
public Converter getConverter(Class targetType)
return new StringToEnum(getEnumType(targetType));
private class StringToEnum implements Converter
private final Class enumType;
public StringToEnum(Class enumType)
this.enumType = enumType;
@Override
public T convert(String source)
if (source.isEmpty())
// It's an empty enum identifier: reset the enum value to null.
return null;
return (T) Enum.valueOf(this.enumType, source.trim().toUpperCase());
private static Class> getEnumType(Class targetType)
Class> enumType = targetType;
while (enumType != null && !enumType.isEnum())
enumType = enumType.getSuperclass();
if (enumType == null)
throw new IllegalArgumentException(
"The target type " + targetType.getName() + " does not refer to an enum");
return enumType;
y agréguelo a ConverterRegistry.
@Configuration
public class MyConfiguration
@Bean
public ConverterRegistry initConverter(ConverterRegistry registry)
registry.addConverterFactory(new MyStringToEnumConverterFactory());
return registry;
¡Espero ayudarte!
Aquí tienes las comentarios y puntuaciones
Nos puedes defender nuestro análisis fijando un comentario y puntuándolo te estamos eternamente agradecidos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)