Spring GraphQL投影不抛出bean解析器异常



我有一个带有Spring for GraphQL库的Spring Boot应用程序,我需要修改返回的对象。因此,我创建并注册了一个引用我的bean方法的投影类:

public interface MyEntityProjection {
@Value("#{@myBean.getName()}")
public String getName();
}

但是,当运行查询时,这会导致org.springframework.expression.spel.SpelEvaluationException: EL1057E: No bean resolver registered in the context to resolve access to bean 'myBean'。可能需要以某种方式注册bean解析器,但文档中没有任何信息https://docs.spring.io/spring-graphql/docs/1.0.0-SNAPSHOT/reference/html/

说明我的问题的简单应用程序:https://github.com/omichal/spring-graphq-no-bean-resolver

不幸的是,从框架本身来看,这是一种非常固执己见的行为
您必须使用目标来准备您的spel。在您的情况下,它将是:

@Value("#{target.name}")

默认情况下,框架将调用原始的bean getName方法——您不需要放置get。

相关内容

最新更新