什么是 GraphQL
GraphQL 是 Facebook 于 2012 年开发的 API 查询语言,比 RESTful API 更高效、更强大、更灵活,允许客户端仅请求需要的数据,减少网络流量并提高性能。它定义了一个架构来描述 API 中可用的数据以及如何访问这些数据,从而使客户端更容易编写有效且高效的查询。GraphQL 可以在单个查询中处理多个请求,从而减少获取所需所有数据所需的往返次数。
总体而言,GraphQL 是构建 API 的强大工具,可提高性能、减少网络流量并提供更好的开发人员体验。近年来,GraphQL 的受欢迎程度迅速增长,许多公司采用它作为首选 API 技术。
所以今天我们就来探讨一下 Postman 如何支持 GraphQL 以及如何在 Postman 中创建 GraphQL 请求。
Postman 中的 GraphQL
Postman 是目前最流行的 API 开发工具,支持多种 API,当然也包括 GraphQL,支持包括内置的 GraphQL 架构查看器,允许开发人员查看 GraphQL API 的架构。架构查看器提供 API 类型、字段和关系的可视化表示,可以轻松理解 API 的结构。
除了模式查看器之外,Postman 还包括一个 GraphQL 请求生成器,可以轻松创建和发送 GraphQL 请求。请求构建器提供了一个用于构建 GraphQL 查询、突变和订阅的图形界面,它包括语法突出显示和自动完成功能,以帮助开发人员编写有效的 GraphQL 查询。
Postman 还支持 GraphQL 变量,允许开发人员参数化 GraphQL 查询和突变。变量可以在请求正文或单独的 JSON 文件中定义,从而可以轻松地在多个请求中重用它们。
Postman GraphQL 支持的另一个有用功能是能够以图形格式查看和编辑响应数据。响应查看器提供响应数据的树状视图,使您可以轻松导航和理解复杂的 JSON 结构。
Postman 的 GraphQL 支持使开发人员可以轻松测试和调试 GraphQL API。凭借其内置的架构查看器、请求生成器和响应查看器,Postman 提供了用于使用 GraphQL API 的全面工具。
如何在 Postman 中测试 GraphQL API
打开 Postman 后,点击应用程序左上角的“New”按钮,就可以创建不同类型的请求。
选择“POST”,然后在“URL”字段中输入 GraphQL API 的 URL。
选择请求页面上的“Body”tab,然后选择“GraphQL”body 类型。编写 GraphQL 查询,然后单击“Send”按钮执行它并查看响应。
可以使用 Postman 提供的编辑器来编写查询,支持语法突出显示、自动完成和错误高亮显示。
如果查询需要任何变量,可以在变量部分中定义它们。要定义变量,需使用 $variableName
语法并指定其类型。然后就可以在引用该变量了。
当然,我们也可以在一开始就选择新建“GraphQL”直接测试 API。
要探索 GraphQL 模式并构建更复杂的查询,可以使用 GraphQL introspection。将查询发送到 GraphQL 的 __schema 字段,返回有关架构的信息,包括类型、字段、参数和指令。
GraphQL Query 的基本语法
GraphQL 是 Facebook 开发的 API 查询语言,允许客户端定义他们所需的数据结构,服务器将准确地响应该数据。
GraphQL 通常以关键字query
开头,后跟一组花括号,括起客户端想要检索的字段。例如,检索用户姓名和电子邮件的简单查询可能如下所示:
query {
user {
name
email
}
}
在此 query 中, user
是表示对象类型的字段。字段name
和email
是该对象类型的属性。要注意的是,对象类型中的字段之间没有逗号分隔。
GraphQL 还支持参数,用于过滤或排序数据。参数包含在括号中,可以传递到任何接受它们的字段。例如,要检索具有特定 ID 的用户的姓名和电子邮件,查询可能如下所示:
query {
user(id: "123") {
name
email
}
}
其中, id
是传递给user
字段的参数。服务器只会返回ID为“123”的用户的数据。
GraphQL 还支持别名,用于重命名查询返回的字段。当两个字段具有相同名称但代表不同数据时,别名非常有用。例如,要检索用户的帐单地址和送货地址,查询可能如下所示:
query {
user(id: "123") {
billingAddress: address(type: "billing") {
street
city
state
zip
}
shippingAddress: address(type: "shipping") {
street
city
state
zip
}
}
}
其中, billingAddress
和shippingAddress
是address
字段的别名。参数的type
用于过滤address
字段返回的数据。
这些只是 GraphQL 查询基本语法的几个示例。通过使用GraphQL,客户端可以通过单个请求准确检索他们需要的数据,这可以大大提高API请求的性能和效率。
测试 GraphQL API 的更多选择——Apifox
Apifox 是另一个支持 GraphQL 的工具,可以像使用普通 REST API 一样轻松地测试和调试你的 GraphQL API,确保它们按预期工作,让你的 API 管理体验如丝般顺滑。与 Postman 的 GraphQL 功能类似,甚至更胜一筹,Apifox 不仅提供了直观的界面,还在不断添加智能化功能,让你能轻松管理和测试 GraphQL API。
你可以根据自己的需求选择你的 GraphQL 好帮手。待与你一同探索 GraphQL 的无限可能!