一、GraphQL demo 说明
1.1 环境说明
操作系统 : 苹果电脑
春季启动:2.3.1.发布
JDK:1.8
graphql-spring-boot-starter : 5.0.2
GraphQL-java-tools:5.2.4
图形iql-弹簧-启动器:7.1.0
1.2 编码思路说明
(1)我们会新创建一个maven项目;
(2)引入相关的依赖,比如spring boot和graphql的依赖包;
(3)编写相应的实体类以及服务(这里的demo简化了DAO的部分);
(4)定义GraphQLQueryResolver进行方法的声明;
(5)定义graphqls的接口定义和scheme定义。
二、GraphQL小栗子
2.1 新建一个Maven项目
使用IDE新建一个maven project,取名为:springboot-graphql-demo2020
2.2 引入相关依赖
在pom.xml文件添加依赖:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.kfit</groupId>
<artifactId>springboot-graphql-demo2020</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-graphql-demo2020</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.graphql-java</groupId>
<artifactId>graphql-spring-boot-starter</artifactId>
<version>5.0.2</version>
</dependency>
<dependency>
<groupId>com.graphql-java</groupId>
<artifactId>graphql-java-tools</artifactId>
<version>5.2.4</version>
</dependency>
<dependency>
<groupId>com.graphql-java-kickstart</groupId>
<artifactId>graphiql-spring-boot-starter</artifactId>
<version>7.1.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
说明:
(1)GraphQL的依赖:GraphQL-spring-boot-starter、graphql-java-tools。
(2)graphiql(graphql GUI,图形化工具不是必需的):graphiql-spring-boot-starter;GraphiQL 是一个可以直接和 GraphQL 服务交互的 UI 界面,可以执行查询和修改请求。
2.3 编写实体类
这里我们编写一个作者的实体类作者:
package com.kfit.test.bean;
public class Author {
private int id;//作者的ID.
private String name;//作者名称.
private String photo;//照片.
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhoto() {
return photo;
}
public void setPhoto(String photo) {
this.photo = photo;
}
}
2.4 编写服务
。。。。。。。。。。。。。。。。。
版权原因,完整文章,请参考如下:GraphQL的探索之路 – SpringBoot集成GraphQL小栗子篇二 - 第315篇