GraphQL 是一种用于构建 API 的查询语言,它可以让前端开发者更加灵活地获取和修改数据。在 GraphQL 中,Query 和 Mutation 是两种最常用的操作类型,本文将介绍如何正确地使用它们。
Query
Query 是用于获取数据的操作类型,类似于 RESTful API 中的 GET 请求。在 GraphQL 中,我们可以使用 Query 来获取单个对象或列表对象的数据。
查询单个对象
假设我们有一个 User 类型,包含 id、name 和 email 三个字段。我们可以使用以下 Query 来获取 id 为 1 的用户的信息:
----- - -------- -- - -- ---- ----- - -
这个 Query 的语法可以分为两个部分:query 和 user。query 表示这是一个 Query 操作,user 是我们要查询的对象类型。在括号中,我们可以指定一些参数,这里我们指定了 id 参数为 1。在花括号中,我们指定了我们要获取的字段,这里包括 id、name 和 email 三个字段。
查询列表对象
假设我们还有一个 Post 类型,包含 id、title 和 content 三个字段。我们可以使用以下 Query 来获取所有的 Post 列表:
----- - ----- - -- ----- ------- - -
这个 Query 的语法与上一个类似,只是我们没有指定参数,而是直接查询了所有的 Post 对象。
Mutation
Mutation 是用于修改数据的操作类型,类似于 RESTful API 中的 POST、PUT、DELETE 请求。在 GraphQL 中,我们可以使用 Mutation 来添加、修改和删除数据。
添加数据
假设我们要添加一个新的 User 对象,我们可以使用以下 Mutation:
-------- - ------------- ------- ------ ------------------- - -- ---- ----- - -
这个 Mutation 的语法与 Query 类似,只是我们使用了 mutation 关键字,而且我们指定了 addUser 操作。在括号中,我们指定了要添加的 User 对象的属性,这里包括 name 和 email 两个属性。在花括号中,我们指定了我们要返回的字段,这里包括 id、name 和 email 三个字段。
修改数据
假设我们要修改一个已有的 User 对象,我们可以使用以下 Mutation:
-------- - -------------- -- ----- ----- ----- ------ ---------------------- - -- ---- ----- - -
这个 Mutation 的语法与添加数据的 Mutation 类似,只是我们指定了 updateUser 操作,并且在括号中指定了要修改的 User 对象的 id 属性。
删除数据
假设我们要删除一个已有的 User 对象,我们可以使用以下 Mutation:
-------- - -------------- -- - -- ---- ----- - -
这个 Mutation 的语法与修改数据的 Mutation 类似,只是我们指定了 deleteUser 操作,并且在括号中指定了要删除的 User 对象的 id 属性。
总结
在 GraphQL 中,Query 和 Mutation 是两个最常用的操作类型,可以让前端开发者更加灵活地获取和修改数据。正确地使用 Query 和 Mutation 可以使我们的代码更加简洁和易于维护。希望本文能够帮助你更好地理解如何在 GraphQL 中使用 Query 和 Mutation。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/660bce52d10417a222c07550