当前位置: 首页 > 知识库问答 >
问题:

GraphQL:查询验证失败

艾泰
2023-03-14

我正在一个简单的Java程序中测试图-spqr天秤座。

这是我目前所做的:

java prettyprint-override">public class GraphQLResolver {
    
    private String status;
    private Integer price;
    
    @GraphQLMutation(name="updateStatusOrder")
    public void updateStatusOrder(@GraphQLArgument(name="id") String orderId,@GraphQLArgument(name="status") String status) {
       //to do
    }
    
    @GraphQLQuery(name="getStatus")
    public String getStatus(@GraphQLArgument(name="id") String orderId) {
        this.status="Example of status";
        return this.status;
    }

}

然后,我在main方法中调用构建GraphQL方法

public class Main {

    public static void main(String[] args) {

        GraphQLSchema schema = new GraphQLSchemaGenerator()
        .withOperationsFromSingleton(new GraphQLResolver()) 
        .generate(); //done ;)

        GraphQL graphQL = new GraphQL.Builder(schema).build();  
        
        ExecutionResult result = null;
        result = graphQL.execute("{getstatus(id:123){status}}");
    }

}

我有错误:查询无法验证:“{status(id:123){status}}”

怎么了?

共有1个答案

唐经国
2023-03-14

我想正确的查询应该是:

{
   getstatus(id:"123")
}

原因如下:

> < li>

您将id参数定义为字符串,因此需要在参数值周围使用双引号。

< code>getStatus查询被定义为返回一个< code>String,它是一个标量,但不是GraphQL中的对象类型。因此,您不需要进一步定义要返回的字段,因为标量没有任何字段可供您选择。

 类似资料:
  • 我正在尝试创建一个JPaRepository,代码如下,带有一个select查询和insert查询, 存储库代码: 实体代码: 但是插入查询中不断出现以下错误, 单独使用select查询可以很好地工作,但是当我添加insert查询时,会出现错误。我想不出问题出在哪里。

  • 问题内容: 我实现查询返回自定义对象中的输出。在执行过程中,出现错误: “方法公共抽象java.util.List org.degs.repository.ConsolidateresponseRepository.transactions()!” JPQL存储库代码: 豆: 如果我在mysql db终端中运行相同的查询,我已经在查询本身中处理了空值并获得了正常的输出,但是在JPA和Spring

  • 我在数据库上实现查询层,使用和Spring Boot项目在sql数据库上执行CRUD操作。在GraphQL模式中,我提到了一些必须的字段,当这些字段在查询中没有提到时,它会以默认格式返回状态代码的错误消息。 错误: 这是我的代码与层架构模式 控制器: 服务: 配置: BookDataFetcher: 上面的代码按预期工作,但我这里的问题是如何自定义错误消息?在错误消息中,我想提及状态,因为这是来自

  • 我正在尝试使用一个带有jpa的自定义查询(不是nativeQuery,因为我想将结果映射到一个自定义对象),但我不知道出了什么问题。 存储库类看起来像这样: 我希望在中列出的模型类如下所示: 这是挑战完成的模型: 基本模型是: 错误很简单:“查询验证失败...”。我也觉得有点奇怪,我需要为我想要构造的类使用完全限定的名称,...但这可能是由于该类不是真正的并且没有自动加载。 可以在这里找到完整的堆