graphql-java

2022-09-27

java

不会哭的年轻人是野蛮人,不想笑的老年人是傻瓜——桑塔亚娜

前两天写了graphql简单介绍博客

今天来拿java简单入个门,首先新建一个项目,因为我这里是用我自己熟悉的方式去写,所以包含了一些看不懂的写法,过两天在写一个保姆级教程

项目地址:https://gitee.com/VampireAchao/simple-graphql

运行springboot主启动类,然后访问

http://localhost:8080/

可以看到这样一个页面

image-20220927134801094

我们可以在左侧编写graphql的查询语句,点击运行按钮,比如分页查询用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
users(current: 1, size: 2) {
current
size
total
records {
id
name
roles {
id
roleName
}
}
}
}

image-20220927134912015

这里这些字段如果不清楚,可以点右侧的Document Explorer,没有的话先展开

image-20220927134957137

点击Query可以看到两个可以查询的,分别是usersroles

image-20220927135027577

这里就列举出了我们查询所需参数(带感叹号的是必传项),字段可以点击类型查看

graphql最大好处是指哪打哪,例如此处我不传入recordsroles,则只会查询用户信息

image-20220927135211198

我们再试试根据roles查询用户

1
2
3
4
5
6
7
8
9
10
{
roles(name: "admin") {
id
roleName
users {
id
name
}
}
}

image-20220927135233161

效果也是非常棒,核心逻辑在这个类里

https://gitee.com/VampireAchao/simple-graphql/blob/master/src/main/java/com/ruben/simplegraphql/provider/GraphQLProvider.java