Мое приложение основано на реактивном Spring, mysql. Когда я пытаюсь получить данные из базы данных mysql, я получаю сообщение об ошибке «org.springframework.core.convert.ConverterNotFoundException: не найден конвертер, способный преобразовать тип [java.nio.HeapByteBuffer] в тип [java.util.UUID]».
Я пытался добавить конвертер в WebConfig, который реализует WebFluxConfigurer, однако, когда Spring ищет конвертер, он не может найти его из-за ByteBuffer, а не HeapByteBuffer (этот класс защищен, который расширяет ByteBuffer).
@Configuration
@EnableWebFlux
public class WebConfig implements WebFluxConfigurer {
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(new ByteBufferToUUIDConverter());
}
}
и фиктивный код преобразования
public class ByteBufferToUUIDConverter implements Converter<ByteBuffer, UUID>, ConditionalConverter {
private Logger logger = LogManager.getLogger(ByteBufferToUUIDConverter.class);
@Override
public UUID convert(ByteBuffer source) {
return null;
}
@Override
public boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) {
logger.debug(":TypeDescriptor " + sourceType + ", " + targetType);
return true;
}
}