diff --git a/hsweb-commons/hsweb-commons-crud/src/main/java/org/hswebframework/web/crud/generator/DefaultIdGenerator.java b/hsweb-commons/hsweb-commons-crud/src/main/java/org/hswebframework/web/crud/generator/DefaultIdGenerator.java index dfcb7679f..67691d9e4 100644 --- a/hsweb-commons/hsweb-commons-crud/src/main/java/org/hswebframework/web/crud/generator/DefaultIdGenerator.java +++ b/hsweb-commons/hsweb-commons-crud/src/main/java/org/hswebframework/web/crud/generator/DefaultIdGenerator.java @@ -2,6 +2,7 @@ package org.hswebframework.web.crud.generator; import lombok.Getter; import lombok.Setter; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.hswebframework.ezorm.core.DefaultValue; import org.hswebframework.ezorm.core.DefaultValueGenerator; @@ -28,14 +29,16 @@ public class DefaultIdGenerator implements DefaultValueGeneratorMono.justOrEmpty(metadata.findFeature(DefaultValueGenerator.createId(id)))) .doOnNext(gen-> log.debug("use default id generator : {} for column : {}", gen.getSortId(), metadata.getFullName())) .map(gen->gen.generate(metadata)) - .blockOptional() - .orElseThrow(()->new UnsupportedOperationException("不支持的生成器:" + defaultId)); + .switchIfEmpty(Mono.error(()->new UnsupportedOperationException("不支持的生成器:" + defaultId))) + .toFuture() + .get(); } @Override