spring boot starter graphql无法正常工作

时间:2017-08-05 14:01:25

标签: java spring spring-boot graphql graphql-java

我最近开始使用graphql并发现它非常有趣。由于我的大多数rest个应用都位于java,因此我决定使用graphql-java小组提供的spring boot starter项目进行快速设置。它附带graph-iql autoconf spring设置,可以更轻松地查询/graphql端点。

在IDEA的项目设置上花了几个小时后,我能够运行graphql-sample-app。但我认为我的servlet仍未启用,只有graphiql端点正在运行,因为默认查询正在返回404

这是application.yml

spring:
      application:
               name: graphql-todo-app
server:
      port: 9000

graphql:
      spring-graphql-common:
               clientMutationIdName: clientMutationId
               injectClientMutationId: true
               allowEmptyClientMutationId: false
               mutationInputArgumentName: input
               outputObjectNamePrefix: Payload
               inputObjectNamePrefix: Input
               schemaMutationObjectName: Mutation
      servlet:
             mapping: /graphql
             enabled: true
             corsEnabled: true

graphiql:
    mapping: /graphiql
    enabled: true

这就是我的build.gradle文件:

buildscript {
    repositories {
        maven { url "https://plugins.gradle.org/m2/" }
        maven { url 'http://repo.spring.io/plugins-release' }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.2.RELEASE")
        classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6"
    }
}

apply plugin: 'java'
apply plugin: 'org.springframework.boot'

repositories {
    jcenter()
    mavenCentral()
}

dependencies{
//    compile(project(":graphql-spring-boot-starter"))
//    compile(project(":graphiql-spring-boot-starter"))
    compile 'com.graphql-java:graphql-spring-boot-starter:3.6.0'

    // to embed GraphiQL tool
    compile 'com.graphql-java:graphiql-spring-boot-starter:3.6.0'

    compile "com.embedler.moon.graphql:spring-graphql-common:$LIB_SPRING_GRAPHQL_COMMON_VER"

    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.springframework.boot:spring-boot-starter-actuator")

    testCompile("org.springframework.boot:spring-boot-starter-test")
}

jar.enabled = true
uploadArchives.enabled = false
bintrayUpload.enabled = false

运行gradle build后,我从终端运行生成的jar文件。这是我在localhost上得到的:

enter image description here

2 个答案:

答案 0 :(得分:1)

使用Spring boot 2.0.0(M6)时遇到了同样的问题。切换回1.5.8.RELEASE解决了这个问题。他们正在解决这个问题,只要Spring boot 2.x有一个非里程碑版本就会发布它。

https://github.com/graphql-java/graphql-spring-boot/issues/40

https://github.com/graphql-java/graphql-spring-boot/pull/36

答案 1 :(得分:0)

更改为1.5.9.spring-boot-starter-stop的发布,它对我有用