我是 GraphQL 的初学者,正在学习以下示例
https://graphql.com/learn/mutations/
**Mutation definition:**
type Mutation {
updateProducePrice(producePriceInput: UpdateProducePriceInput!): UpdateProducePriceResponse
}
input UpdateProducePriceInput {
produceItemId: ID!
newPrice: Int!
}
type UpdateProducePriceResponse {
code: Int!
success: Boolean!
message: String!
produceItem: Produce
}
**Mutation request:**
mutation UpdateProducePrice($producePriceInputVariable: UpdateProducePriceInput!) {
updateProducePrice(producePriceInput: $producePriceInputVariable) {
success
message
produceItem {
name
price
}
}
}
**Variable input:**
{
"producePriceInputVariable": {
"produceItemId": "F4",
"newPrice": 113
}
}
**Response:**
{
"data": {
"updateProducePrice": {
"success": true,
"message": "Price successfully updated for orange, from 41 to 113",
"produceItem": {
"name": "orange",
"price": 113
}
}
}
}
由于produceItem:Produce
在中定义 type UpdateProducePriceResponse
,并且突变返回Produce 类型的name
和price
(从 41 更新为 113),给定 Id 和 newPrice 作为输入。
newPrice 的值如何传递给 Produce 类型中定义的价格字段?我读过有关解析器的文章,但不明白其内部是如何运作的。