这个项目建立在 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”消息的时间
声明一个WebInterceptor
bean,通过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,使用vwin 服务器:
@AutoConfigureWebTestClient
公共类 MockMvcGraphQlTests {
@自动连线
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
公共类 MockMvcGraphQlTests {
@自动连线
@SpringBootTest
公共类 MockMvcGraphQlTests {
@自动连线
无效订阅(){
.executeSubscription()
StepVerifier.create(result)
.expectNext("卓悦")
.verifyComplete();
订阅测试直接针对WebGraphQlHandler
HTTP和WebSocket传输委托的对象执行。它通过WebInterceptor
链,然后调用GraphQL的Java返回一个响应流Publisher
。
-
JAVA
+关注
关注
19文章
2966浏览量
104700 -
spring
+关注
关注
0文章
340浏览量
14336 -
GraphQL
+关注
关注
0文章
14浏览量
572
发布评论请先 登录
相关推荐
评论