微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何解析包含单声道评估的 SPEL 表达式将 Mono 作为输入传递给 SPEL ExpressionParser 实例

如何解决如何解析包含单声道评估的 SPEL 表达式将 Mono 作为输入传递给 SPEL ExpressionParser 实例

所以我一直在尝试使用 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
}

我通常会收到这样的错误 EL1013E:无法比较类 reactor.core.publisher.MonoJust 和类 java.lang.Integer 的实例,问题是我无法在 map 中进行解析单声道实例 age 因为表达式的构建方式只能按照上述代码进行解析,所以有什么方法可以将 Mono 实例作为(在)SPEL 表达式中的一部分来实现?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。