graphQL-java实战(三)-graphiql

graphiql是一个graphql浏览器IDE,可以自动提示graphql语法是否正确,给出建议。

这对于刚开始学习graphql的同学是非常棒的工具。

一、graphiql依赖包

项目中用到的依赖包如下:

 <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>graphiql-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</groupId>
      <artifactId>graphql-java</artifactId>
      <version>15.0</version>
    </dependency>

二、schema文件

schema文件跟上篇博客相同

# 定义查询接口, 一个schema文件中只能定义一个Query对象
type Query {
    # 无参, 返回字符串
    hello: String
    # 字段参数且不能为空, 返回普通对象
    bookById(id: ID!): Book
    # 对象参数, 返回列表
    books(book: BookInput): [Book]
}
# 定义修改接口
type Mutation {
    hello: String
}
# 定义入参对象
input BookInput {
    id: ID
    name: String
}
#定义普通对象
type Book {
    id: ID
    name: String
    pageCount: Int
    author: Author
}
type Author {
    id: ID
    firstName: String
    lastName: String
}

三、简单查询

启动项目

在URL输入:http://localhost:8081/graphiql

即可打开graphiql界面

 

 在左侧面板输入query语句,可以进行美化,IDE也会给出一些建议。

如果语法正确,右侧面板即可给出查询结果。

四、自定义查询参数

如果不想将参数拼入query语句,而是想要传入参数,可以依照graphql的语法,编写自定义参数

如下图所示,在query中自定义了$bookId作为参数,此时在左下方的面板输入一个variable map,即可实现参数的自动传入。

 

 五、在postman中使用graphql

如果不喜欢使用graphiql,postman也对graphql进行了支持,下面是简单的使用方式

 六、传递对象参数,返回列表

如果query方法的参数是一个对象,那就真的需要使用variables参数了,格式如下

 

posted @ 2022-07-25 09:31  Mars.wang  阅读(776)  评论(0编辑  收藏  举报