重构了并发请求的代码

在 Shopping Content API 中,批处理请求可以包含多个条目,每个条目可以是资源上定义的任何方法(插入、更新、删除或自定义)。

Merchant API 不提供自定义批处理方法。不过,您可以安排并行执行各个请求。

使用客户端库

如果使用客户端库,请考虑使用以下 Shopping Content API 代码。

ProductsCustomBatchResponse batchResponse =
        content.products().custombatch(batchRequest).execute();

请按如下所示编写 Merchant API 等效代码。

List<ApiFuture<ProductInput>> futures;

for (InsertProductInputRequest request : requests) {
    futures.add(productInputsServiceClient.insertProductInputCallable().futureCall(request));
}

List<ProductInput> responses;

for (ApiFuture<ProductInput> future : futures) {
    responses.add(future.get());
}

不使用客户端库

如果您不使用客户端库,请按照一次发送多个请求中所述的方式进行批处理。

例如,替换 Content API for Shopping 请求,如下所示:

POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch

{
  "entries": [
    {
      "method": "insert",
      "product": {  }
    }  ]
}

请参阅此编写批量请求示例。