這個項目建立在 Boot 2.x 上,但它應(yīng)該與最新的 Boot2.4.x5 相關(guān)。
要創(chuàng)建項目,請轉(zhuǎn)到start.spring.io并為要使用的GraphQL傳輸選擇啟動器:
依賴{
實現(xiàn) 'org.springframework.experimental:graphql-spring-boot-starter:1.0.0-SNAPSHOT'
// ...
MavenCentral()
maven { url 'https://repo.spring.io/snapshot' } // Spring 快照
架構(gòu)
spring.graphql.schema.locations=classpath:graphql/
spring.graphql.schema.printer.enabled=false
你可以聲明RuntimeWiringConfigurer
在 Spring 的配置與 GraphQL 引擎豆類和使用這些登記的數(shù)據(jù)獲取程序,類型旋轉(zhuǎn)變壓器,和更多:
公共類 PersonDataWiring 實現(xiàn) RuntimeWiringConfigurer {
私有的最終 PersonService 服務(wù);
公共 PersonDataWiring(PersonService 服務(wù)){
}
@覆蓋
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
指標(biāo)
management.metrics.graphql.autotime.enabled=false
management.endpoints.web.exposure.include=health,metrics,info
請求訪問位置/actuator/metrics/graphql.request
。
描述 |
樣本值 |
|
---|---|---|
結(jié)果 |
請求結(jié)果 |
“成功”、“錯誤” |
一個DataFetcher
指標(biāo)定時器可在/actuator/metrics/graphql.datafetcher
。
標(biāo)簽 |
描述 |
樣本值 |
---|---|---|
小路 |
數(shù)據(jù)獲取器路徑 |
“查詢.項目” |
結(jié)果 |
數(shù)據(jù)獲取結(jié)果 |
“成功”、“錯誤” |
錯誤投票
測試
依賴{
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,使用模擬服務(wù)器:
@AutoConfigureWebTestClient
公共類 MockMvcGraphQlTests {
@自動連線
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
公共類 MockMvcGraphQlTests {
@自動連線
@SpringBootTest
公共類 MockMvcGraphQlTests {
@自動連線
無效訂閱(){
.executeSubscription()
StepVerifier.create(result)
.expectNext("卓悅")
.verifyComplete();
訂閱測試直接針對WebGraphQlHandler
HTTP和WebSocket傳輸委托的對象執(zhí)行。它通過WebInterceptor
鏈,然后調(diào)用GraphQL的Java返回一個響應(yīng)流Publisher
。
-
JAVA
+關(guān)注
關(guān)注
19文章
2964瀏覽量
104688 -
spring
+關(guān)注
關(guān)注
0文章
340瀏覽量
14334 -
GraphQL
+關(guān)注
關(guān)注
0文章
14瀏覽量
570
發(fā)布評論請先 登錄
相關(guān)推薦
評論