Java 如何解析包含mono计算的SPEL表达式(将mono作为输入传递给SPEL ExpressionParser实例)

Java 如何解析包含mono计算的SPEL表达式(将mono作为输入传递给SPEL ExpressionParser实例),java,spring,spring-webflux,spring-el,reactor,Java,Spring,Spring Webflux,Spring El,Reactor,因此,我一直在尝试将SPEL和Mono实例作为输入,解析为Mono实例,但SPEL无法进行转换并处理Mono实例 @UtilityClass public class ReactiveSpelUtil { private static ExpressionParser SPEL_PARSER = new SpelExpressionParser(); private static final EvaluationContext STANDARD_EVALUATION_CON

因此,我一直在尝试将SPEL和Mono实例作为输入,解析为Mono实例,但SPEL无法进行转换并处理Mono实例


@UtilityClass
public class ReactiveSpelUtil {

    private static ExpressionParser SPEL_PARSER = new SpelExpressionParser();

    private static final EvaluationContext STANDARD_EVALUATION_CONTEXT = new StandardEvaluationContext();
    
    @SuppressWarnings("ALL")
    public static Mono<Boolean> evaluate(final Object rootObject, String expression) {

        STANDARD_EVALUATION_CONTEXT.setVariable(rootObject.getClass().getSimpleName(),rootObject);
        
        return SPEL_PARSER.parseExpression(expression)
                .getValue(STANDARD_EVALUATION_CONTEXT, Mono.class);
    }
    // expression sample is #rootObject.age>20 , age is wrapped in Mono
}

@实用类
公共类反应方案{
private static ExpressionParser spelu PARSER=new SpelExpressionParser();
私有静态最终评估上下文标准\评估\上下文=新标准评估上下文();
@抑制警告(“全部”)
公共静态Mono evaluate(最终对象rootObject,字符串表达式){
标准_EVALUATION_CONTEXT.setVariable(rootObject.getClass().getSimpleName(),rootObject);
返回SPEL_PARSER.parseExpression(表达式)
.getValue(标准评估上下文,Mono.class);
}
//表达式示例为#rootObject.age>20,age用Mono包装
}
我通常会遇到这样的错误EL1013E:无法比较reactor.core.publisher.MonoJust类和java.lang.Integer类的实例,问题是我无法在mono实例
age
映射内进行解析,因为表达式是以一种只能根据上述代码进行解析的方式构建的,那么,有没有办法实现将Mono实例作为SPEL表达式的一部分来使用呢