带有GraphQL的Spring Boot-模式问题

时间:2019-10-26 14:04:45

标签: java spring spring-boot graphql

我正在使用GraphQL和Spring Boot,但是我在这个问题上停留了一段时间。

首先,这是我的build.gradle:

...
    compile 'com.graphql-java-kickstart:graphql-spring-boot-starter:5.10.0'
    compile group: 'com.graphql-java', name: 'graphql-java-tools', version: '5.2.4'
    runtime 'com.graphql-java-kickstart:graphiql-spring-boot-starter:5.10.0'
...

我有一个实体,可以说-狗,一个存储库,服务,变量和一个查询。在/ resources中,我有dogs.graphqls,其中包含架构。

但是由于某种原因,我无法启动该应用程序。错误消息显示为:No graphql schema files found on classpath with location pattern '**/*.graphqls'。当我删除对com.graphql-java-kickstart:graphql-spring-boot-starter的依赖关系时,它将启动,但是找不到架构。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

我有一个GraphQL spring-boot项目,我看到两个区别:

  • 我的模式位于resources/graphql中-可能没关系
  • 一些其他依赖项-我记得和那些依赖项一起玩可以解决类似的问题

看看-https://github.com/xShadov/code-hellven/blob/master/core/api/pom.xml-尝试使用类似的依赖项(不确定如何将其转换为gradle):

<graphql.version>5.4.1</graphql.version>
<graphql-datetime-spring-boot-starter.version>1.4.0</graphql-datetime-spring-boot-starter.version>

<dependency>
  <groupId>com.graphql-java-kickstart</groupId>
  <artifactId>graphql-spring-boot-starter</artifactId>
  <version>${graphql.version}</version>
</dependency>
<dependency>
  <groupId>com.graphql-java-kickstart</groupId>
  <artifactId>graphiql-spring-boot-starter</artifactId>
  <version>${graphql.version}</version>
</dependency>
<dependency>
  <groupId>com.graphql-java-kickstart</groupId>
  <artifactId>voyager-spring-boot-starter</artifactId>
  <version>${graphql.version}</version>
</dependency>
<dependency>
  <groupId>com.graphql-java-kickstart</groupId>
  <artifactId>graphql-java-tools</artifactId>
  <version>${graphql.version}</version>
</dependency>
<dependency>
  <groupId>com.zhokhov.graphql</groupId>
  <artifactId>graphql-datetime-spring-boot-starter</artifactId>
  <version>${graphql-datetime-spring-boot-starter.version}</version>
</dependency>

答案 1 :(得分:0)

我通过以下方式改变了kickstarter的依赖关系:


    compile group: 'com.graphql-java', name: 'graphql-spring-boot-starter', version: '5.0.2'
    compile group: 'com.graphql-java', name: 'graphql-java-tools', version: '5.2.4'
    compile group: 'com.graphql-java', name: 'graphiql-spring-boot-starter', version: '3.0.3'


:|

答案 2 :(得分:0)

在pom.xml中包含以下代码:

<resources>
<resource>
    <directory>src/main/resources</directory>
    <includes>
        <include>**/*.properties</include>
        <include>**/*.graphqls</include>
    </includes>
</resource>