这个项目建立在 Boot 2.x 上,但它应该与最新的 Boot2.4.x5 相关。
要创建项目,请转到start.spring.io并为要使用的GraphQL传输选择启动器:

依赖{
实现 'org.springframework.experimental:graphql-spring-boot-starter:1.0.0-SNAPSHOT'
// ...
MavenCentral()
maven { url 'https://repo.spring.io/snapshot' } // Spring 快照
架构
spring.graphql.schema.locations=classpath:graphql/
spring.graphql.schema.printer.enabled=false
你可以声明RuntimeWiringConfigurer在 Spring 的配置与 GraphQL 引擎豆类和使用这些登记的数据获取程序,类型旋转变压器,和更多:
公共类 PersonDataWiring 实现 RuntimeWiringConfigurer {
私有的最终 PersonService 服务;
公共 PersonDataWiring(PersonService 服务){
}
@覆盖
builder.type("查询", 接线 ->
}
查询dsl存储库
网络搜索
spring.graphql.path=/graphql
spring.graphql.websocket.path=/graphql
# 必须从客户端收到“CONNECTION_INIT”消息的时间
声明一个WebInterceptorbean,通过HTTP和WebSocket请求在GraphQL的Web拦截中注册。
GraphiQL
spring.graphql.graphiql.enabled=true
指标
management.metrics.graphql.autotime.enabled=false
management.endpoints.web.exposure.include=health,metrics,info
请求访问位置/actuator/metrics/graphql.request。
|
描述 |
样本值 |
|
|---|---|---|
|
结果 |
请求结果 |
“成功”、“错误” |
一个DataFetcher指标定时器可在/actuator/metrics/graphql.datafetcher。
|
标签 |
描述 |
样本值 |
|---|---|---|
|
小路 |
数据获取器路径 |
“查询.项目” |
|
结果 |
数据获取结果 |
“成功”、“错误” |
错误投票
测试
依赖{
testImplementation 'org.springframework.graphql:spring-graphql-test:1.0.0-SNAPSHOT'
// 也添加这个,除非 spring-boot-starter-webflux 也存在
}
存储库{
maven { url 'https://repo.spring.io/milestone' } // 春季里程碑
}
@SpringBootTest
@AutoConfigureGraphQlTeste
私有 WebGraphQlTester graphQlTester;
}
针对 Spring WebFlux 的基于 HTTP 的 GraphQL,使用模拟服务器:
@AutoConfigureWebTestClient
公共类 MockMvcGraphQlTests {
@自动连线
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
公共类 MockMvcGraphQlTests {
@自动连线
@SpringBootTest
公共类 MockMvcGraphQlTests {
@自动连线
无效订阅(){
.executeSubscription()
StepVerifier.create(result)
.expectNext("卓悦")
.verifyComplete();
订阅测试直接针对WebGraphQlHandlerHTTP和WebSocket传输委托的对象执行。它通过WebInterceptor链,然后调用GraphQL的Java返回一个响应流Publisher。
-
JAVA
+关注
关注
20文章
3006浏览量
116825 -
spring
+关注
关注
0文章
341浏览量
16050 -
GraphQL
+关注
关注
0文章
14浏览量
814
发布评论请先 登录
算力出海新典范:创通新科集团三大矩阵登陆Japan IT Week
广和通携AIoT方案闪耀亮相Japan IT Week Spring 2026
TLE989x EvalBoard with TQFP/LQFP spring socket v01_1 评估板深度解析
一款基于Java+Spring Boot+Vue的智慧随访管理系统源码
哪些产品要做MIC认证呢?
srrc认证是强制认证吗?
3C认证派生是什么意思?
Spring拦截器:你的请求休想逃过我的五指山!
哪些产品要做ncc认证?
一文了解什么是 BQB 认证
「Spring认证」什么是Spring GraphQL?
评论