我在类型中定义了以下查询。我设置了一个nodejs和expressGraphQL服务器。
GetComponent<Rigidbody>().AddForce(Camera.main.transform.forward * projectileSpeed);
但是,在前端,我也想根据标题(或从URL派生的唯一字符串)请求特定的产品。如何更改产品查询,使其接受ID或标题字符串?
答案 0 :(得分:1)
您可以构建一个InputType
和ID
为可选的String
,但需要InputType
,然后在解析器中处理这两种情况。
类似的东西:
input ProductSearch {
id: ID
title: String
}
type Product {
id: ID!
title: String
}
type Query {
product(search: ProductSearch!): Product!
products: [Product!]!
}
在解析器中,您可以处理以下情况:
Query: {
product: (source, args) => {
if (args.search.id) {
// here you have id
console.log(args.search.id)
}
if (args.search.title) {
// here you have title
console.log(args.search.title)
}
}
}
希望有帮助。