2

シナリオ:1000個の製品を保管します。それらすべてをダウンロードする必要があります。製品のリクエストは、呼び出しごとに最大250の製品に制限されており、APIは、要求された「制限」を返す場合と返さない場合があります。たとえば、limit = 250の呼び出しは、私が観察したものから、250未満のアイテムを返す可能性があります。したがって、1000個の製品を入手するには、最低4回の呼び出しが必要です。

次のリクエストが発行されます。

#1  GET /admin/products.xml?limit=250&page=1 (returned the first 250 products 1-250)
#2  GET /admin/products.xml?limit=250&page=2 (returned the next 250 products 251-500)
#3  GET /admin/products.xml?limit=250&page=3 (****returned only 200 products 501-700**)
#4  GET /admin/products.xml?limit=250&page=4 (****what does it return here?**)

したがって、問題はサーバーのページ付けについてです。これにより、上記の4行目で何が起こるかが定義されます。

1)APIはスマートページネーションを実行しますか?前のリクエストは200個の商品しか返さなかったため、次のページは商品番号701で始まるリストを返す必要がありますか?

また

2)最後の呼び出しで何が起こったかに関係なく、4ページの要求が常に製品番号751で始まるブラインドページネーションを実行しますか?

4

2 に答える 2

3

/admin/products/count.jsonを使用して、すべての製品の数を取得します。次に、その数を250で割って、ページの総数を取得します。

于 2012-09-06T16:46:55.717 に答える
0

Railsの場合はshopifyapigemを使用してshopifyAPIでパラメーターを渡すか、送信パラメーターにShopifyAPIを直接使用できます。

ShopifyAPI::Product.find(:all, params: { page: parmas[:page], 
                                         limit: 10, 
                                         title: params[:search]
                                       })
于 2018-10-31T07:47:12.373 に答える