Node.js 查询GraphQL以基于id或名称查找对象
我在我的类型中定义了以下查询。我设置了一个nodejs和expressGraphQL服务器Node.js 查询GraphQL以基于id或名称查找对象,node.js,graphql,Node.js,Graphql,我在我的类型中定义了以下查询。我设置了一个nodejs和expressGraphQL服务器 type Query { product(_id: ID!): Product! products: [Product!]! } 但是,在我的前端,我还希望根据从url派生的标题或唯一字符串请求特定的产品。如何更改product的查询,使其接受ID或标题字符串 您可以构建一个InputType,其中ID和String都是可选的,但需要InputType,然后在解析器中处理这两种情况 比如: in
type Query {
product(_id: ID!): Product!
products: [Product!]!
}
但是,在我的前端,我还希望根据从url派生的标题或唯一字符串请求特定的产品。如何更改product的查询,使其接受ID或标题字符串 您可以构建一个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)
}
}
}
希望有帮助。是的,这正是我想要的!谢谢