GraphQL入门实战

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决什么问题

根据请求控制返回结果

例如: 一个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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值