对所有或少数模式字段的graphql单选查询

时间:2019-09-24 11:19:50

标签: graphql

我有一个像下面这样的graphql模式

const SellerjobtypeType = new GraphQLObjectType({
  name: 'Sellerjobtype',
  fields: () => ({
    id: { type: GraphQLString },
    sellerName: { type: GraphQLString },
    sellerAdd: { type: GraphQLString },
    status: { type: GraphQLString },
    requestRaiseTime: { type: GraphQLString },
    percent: { type: GraphQLString },
    runtime: { type: GraphQLString },
    jobid: { type: new GraphQLNonNull(GraphQLString) },
    specialinstructions: { type: GraphQLString }
  })
});

当我编写graphql服务器代码以获取SellerName的所有SellerjobtypeType时,我必须创建一个解析器端点。

sellerjobtype: {
      type: SellerjobtypeType,
      args: { id: { type: GraphQLString}},
      resolve(parent, args) {
        return Sellerjobtype.findById(args.id);
      }
    }

这将仅基于ID进行搜索

现在我想按SellerName进行搜索,我创建了另一个端点

sellerjobtype2: {
  type: SellerjobtypeType,
  args: { sellerName: { type: GraphQLString}},
  resolve(parent, args) {
    return myObj.findByName(args.sellerName);
  }
}

如果必须搜索其他字段,则创建另一个端点。

这是否克服了不必创建多个端点的graphql目的。我想我做错了。请建议如何创建自定义终端节点,以根据SellerjobtypeType中的全部或部分字段来处理所有搜索

0 个答案:

没有答案