使用Java使用Shopify的GraphQL实施

时间:2018-06-27 10:39:19

标签: java shopify graphql shopify-app graphql-java

我正在构建一个Shopify应用,该应用需要调整Shopify中的产品库存。 Shopify将使用admin/product.json弃用其库存调整POST调用,并将更新为/admin/inventory_levels/adjust.json,但是新的库存调整POST调用一次只能更新单个库存级别。 但是我的应用程序需要在某个特定的时间点更新多个库存级别,因此对每个单个库存级别执行POST调用会占用大量资源并且很耗时。当我联系Shopify专家时,他建议我将GraphQL用于上述目的。我在Java中研究了GraphQL + Shoipfy的实现,但没有找到令人满意的结果,因此我需要在Java中实现GraphQL的Client POST调用方面的帮助。 下面是我的GraphQL结构,我想用Java实现

mutation {
  item1: inventoryAdjustQuantity(input: {inventoryLevelId: "gid://shopify/InventoryLevel/9229566067?inventory_item_id=10588945219699", availableDelta: 3}) {
    inventoryLevel {
      available
    }
    userErrors {
      field
      message
    }
  }
  item2: inventoryAdjustQuantity(input: {inventoryLevelId: "gid://shopify/InventoryLevel/9229762675?inventory_item_id=10588945219699", availableDelta: 3}) {
    inventoryLevel {
      available
    }
    userErrors {
      field
      message
    }
  }
  item3: inventoryAdjustQuantity(input: {inventoryLevelId: "gid://shopify/InventoryLevel/9229926515?inventory_item_id=10588945219699", availableDelta: 3}) {
    inventoryLevel {
      available
    }
    userErrors {
      field
      message
    }
  }
  item4: inventoryAdjustQuantity(input: {inventoryLevelId: "gid://shopify/InventoryLevel/9645391987?inventory_item_id=10588945219699", availableDelta: 3}) {
    inventoryLevel {
      available
    }
    userErrors {
      field
      message
    }
  }
  item5: inventoryAdjustQuantity(input: {inventoryLevelId: "gid://shopify/InventoryLevel/9645457523?inventory_item_id=10588945219699", availableDelta: 3}) {
    inventoryLevel {
      available
    }
    userErrors {
      field
      message
    }
  }
  item6: inventoryAdjustQuantity(input: {inventoryLevelId: "gid://shopify/InventoryLevel/9645490291?inventory_item_id=10588945219699", availableDelta: 3}) {
    inventoryLevel {
      available
    }
    userErrors {
      field
      message
    }
  }
  item7: inventoryAdjustQuantity(input: {inventoryLevelId: "gid://shopify/InventoryLevel/9229566067?inventory_item_id=10588945252467", availableDelta: 3}) {
    inventoryLevel {
      available
    }
    userErrors {
      field
      message
    }
  }
  item8: inventoryAdjustQuantity(input: {inventoryLevelId: "gid://shopify/InventoryLevel/9229762675?inventory_item_id=10588945252467", availableDelta: 3}) {
    inventoryLevel {
      available
    }
    userErrors {
      field
      message
    }
  }
  item9: inventoryAdjustQuantity(input: {inventoryLevelId: "gid://shopify/InventoryLevel/9229926515?inventory_item_id=10588945252467", availableDelta: 3}) {
    inventoryLevel {
      available
    }
    userErrors {
      field
      message
    }
  }
  item10: inventoryAdjustQuantity(input: {inventoryLevelId: "gid://shopify/InventoryLevel/9645391987?inventory_item_id=10588945252467", availableDelta: 3}) {
    inventoryLevel {
      available
    }
    userErrors {
      field
      message
    }
  }
}

如果您能帮助我解决此问题,或引导我找到一些有用的链接,那就太好了。

1 个答案:

答案 0 :(得分:0)

您可以使用graphql管理员应用程序在应用程序中运行查询。这是一个非常好的应用程序,它还可以帮助您找到参数以及识别查询错误。 https://shopify-graphiql-app.shopifycloud.com/login

您还可以访问文档来描述我们如何使用失眠-> graphql学习套件。在需要导入集合的地方。我正在使用此工具运行graphql。 https://www.shopify.com/partners/blog/shopify-graphql-learning-kit