3

我尝试使用 io.leangen.graphql.execution.relay.Page;

像这样

  @GraphQLQuery
  public Page<SysUser> sysUsers(SysUser sysUser,
      @GraphQLArgument(name = "page", defaultValue = "1") int page,
      @GraphQLArgument(name = "size", defaultValue = "10") int size,
      @GraphQLArgument(name = "direction", defaultValue = "\"ASC\"") Direction direction,
      @GraphQLArgument(name = "properties", defaultValue = "[\"id\"]") String... properties) {
    log.info("user: {} page: {} size: {} direction: {} properties: {}", sysUser, page, size,
        direction, properties);
    PageRequest pageRequest = PageRequest.of(page, size, direction, properties);
    return PageFactory.createOffsetBasedPage(sysUserRepository.findAll(pageRequest).getContent(), size, page);
  }

但是当我开始我的应用程序时...


org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'graphqlSchema' defined in class path resource [in/gaks/oneyard/config/GraphConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [graphql.schema.GraphQLSchema]: Factory method 'graphqlSchema' threw exception; nested exception is io.leangen.graphql.metadata.exceptions.MappingException: Operation 'sysUsers' is incompatible with the Relay Connection spec due to required arguments missing. If this is intentional, disable strict compliance checking. For details and solutions see https://github.com/leangen/graphql-spqr/wiki/Errors#relay-connection-spec-violation
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:645) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
    //...........
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [graphql.schema.GraphQLSchema]: Factory method 'graphqlSchema' threw exception; nested exception is io.leangen.graphql.metadata.exceptions.MappingException: Operation 'sysUsers' is incompatible with the Relay Connection spec due to required arguments missing. If this is intentional, disable strict compliance checking. For details and solutions see https://github.com/leangen/graphql-spqr/wiki/Errors#relay-connection-spec-violation
    ... 24 common frames omitted
Caused by: io.leangen.graphql.metadata.exceptions.MappingException: Operation 'sysUsers' is incompatible with the Relay Connection spec due to required arguments missing. If this is intentional, disable strict compliance checking. For details and solutions see https://github.com/leangen/graphql-spqr/wiki/Errors#relay-connection-spec-violation
    at io.leangen.graphql.generator.OperationMapper.validateConnectionSpecCompliance(OperationMapper.java:437) ~[spqr-0.9.9.jar:na]
    at io.leangen.graphql.generator.OperationMapper.toGraphQLField(OperationMapper.java:170) ~[spqr-0.9.9.jar:na]
    at io.leangen.graphql.generator.OperationMapper.lambda$generateQueries$0(OperationMapper.java:101) ~[spqr-0.9.9.jar:na]
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[na:na]
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[na:na]
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[na:na]
    at io.leangen.graphql.generator.OperationMapper.generateQueries(OperationMapper.java:102) ~[spqr-0.9.9.jar:na]
    at io.leangen.graphql.generator.OperationMapper.<init>(OperationMapper.java:84) ~[spqr-0.9.9.jar:na]
    at io.leangen.graphql.GraphQLSchemaGenerator.generate(GraphQLSchemaGenerator.java:962) ~[spqr-0.9.9.jar:na]
    //.....

我去https://github.com/leangen/graphql-spqr/wiki/Errors#relay-connection-spec-violation

并尝试所有方法,它不能工作......

我的 GraphConfig


  private final @NotNull List<BaseController> controllerList;

  @Bean
  public GraphQLSchema graphqlSchema() {
    GraphQLSchemaGenerator generator = new GraphQLSchemaGenerator();
    controllerList.forEach(generator::withOperationsFromSingleton);
    generator.withOperationBuilder(
        new DefaultOperationBuilder(DefaultOperationBuilder.TypeInference.LIMITED));
    return generator.generate();
  }

请帮我!

谢谢!

4

0 回答 0