我最近开始使用graphql
,发现它非常有趣。由于我的大多数rest
应用程序都在java
中,我决定使用graphql java
团队提供的spring boot starter项目进行快速设置。它附带了graph iql
autoconf-spring设置,这使得查询/graphql
endpoint更加容易。
在IDEA中花了几个小时进行项目设置后,我能够运行graphql示例应用程序。但我认为我的servlet仍然没有启用,只有graphiql
endpoint正在运行,因为默认查询返回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
这就是我的构建。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上得到的:
更改为1.5.9版。释放Spring启动停止,它为我工作
我在使用Spring boot 2.0.0(M6)时也遇到了同样的问题。切换回1.5.8。释放解决了这个问题。他们正在研究这个问题,一旦Spring boot 2发布了非里程碑式的版本,它就会发布。十、
https://github.com/graphql-java/graphql-spring-boot/issues/40
https://github.com/graphql-java/graphql-spring-boot/pull/36
我在启动spring boot应用程序时遇到以下错误。这是我的第一个spring boot项目。因此,我不确定错误以及如何修复它。 申请启动失败 描述: 配置为侦听端口8080的Tomcat连接器无法启动。端口可能已在使用中,或者连接器可能配置错误。 行动: 验证连接器的配置,识别并停止在端口8080上侦听的任何进程,或者将此应用程序配置为在另一个端口上侦听。
我将应用程序中的Spring boot版本从2.4.4升级到2.5.0,它停止公开 /actuator/infoendpoint。这是pom.xml和application.yml pom。xml 应用yml公司 使用spring boot父版本2.4.4,应用程序能够公开信息endpoint,但不能使用2.5.0。
下面是我的ehcache配置文件 所有Spring注释和配置都正常工作 但是缓存在timetoliveseconds之后无法清除。 谁能帮我一下我的配置有什么问题吗。 下面的页面说它是错误,但不知道如何解决这个问题? 我正在使用sping-boot-starter-cache-2.0.3版本 https://github.com/ehcache/ehcache-jcache/issues/26 有
我是Spring启动开发的新手。我正在尝试通过从@Request estbody传递List来验证帖子请求。下面是控制类 下面是我的实体类。 它从不验证实体并给出以下错误。 有人可以帮助如何验证列表直接从请求boday。https://www.baeldung.com/spring-validate-list-controller我尝试了这个,但没有帮助。 以下是pom依赖项
我有一个使用mvn构建的Spring Boot 2.25应用程序。根据本文件,我添加 从留档: 当DevTools监视类路径资源时,触发重启的唯一方法是更新类路径。导致类路径更新的方式取决于您正在使用的IDE。在Eclipse中,保存修改后的文件将导致类路径更新并触发重启。在IntelliJ IDEA中,构建项目(构建- 随着应用程序的运行,我尝试了一个简单的方法 希望应用程序重新启动,但什么也没
我有一些javascript捆绑文件,非常大,大约1MB。我正在尝试使用yml文件中的以下应用程序属性打开响应压缩: 但不管用。没有压缩发生。 请求标题: ===编辑3===进一步遵循@Chimmi的建议。我已经在建议的地方设置了断点。对静态资源(js文件)的请求似乎从未在这些断点停止过。只有rest API请求才会这样做。对于这些请求,由于某种原因,内容长度为零,这导致跳过内容压缩。 由于@Ch