解决什么问题
根据请求控制返回结果
例如: 一个User对象,有id,name,mobile,email
有些接口只要返回id,name ,有些接口还要要返回 mobile

适用场景
- 弱文档管理,公司对文档要求不高
- 需求复杂变化快
- 单资源多种访问方式,组件复用
- 复杂API 还是restful好
开发流程
1.设计领域对象
2.定义GraphQL Schema
3.定义DataFetcher(实现数据访问层组件)
4.完成Data Wiring(GraphQlSourceBuilderCustomizer,旧版本RuntimeWiringBuilderCustomizer)
5.开启graph配置或者自己实现Controller
spring.graphql.schema.printer.enabled=true
spring.graphql.path=/wenl/query
GraphQL Server实例
前提
spring boot 2.7+,JDK1.8,maven 3.5+
maven pom如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.13-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-graphql</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifac

文章介绍了如何在SpringBoot2.7环境中集成GraphQL来创建一个查询API。通过定义领域对象、GraphQLSchema、DataFetcher和DataWiring,实现不同接口返回不同字段的需求。示例展示了如何处理Book和Author对象,并提供了GraphQLClient的调用方式。
最低0.47元/天 解锁文章
1148

被折叠的 条评论
为什么被折叠?



