「Spring认证」什么是Spring GraphQL?

电子说

1.2w人已加入

描述

这个项目建立在 Boot 2.x 上,但它应该与最新的 Boot2.4.x5 相关。

要创建项目,请转到start.spring.io并为要使用的GraphQL传输选择启动器:

JAVA



依赖{

   实现 '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

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分