6

shopify_api宝石を使用しています。

API docShopifyAPI::Orderは、どのフィールドを返すかを伝えることで、レスポンスを簡略化できることを示しています。たとえば、次はid属性のみを返しshipping_addressます。

ShopifyAPI::Order.find(:all, params: {fields: "id,shipping_address"})

shipping_addressたまたま内部に複数のフィールドを持つハッシュです。ネストされたフィールドを指定しshipping_addressて返すことはできますか? 例えば

ShopifyAPI::Order.find(:all, params: {fields: "id,shipping_address['country_code']"})

これは次のようなものを返すかもしれません

  #<ShopifyAPI::Order:0x0000010558b348 
    @attributes={
      "id"=>12345678, 
      "shipping_address"=>#<ShopifyAPI::ShippingAddress:0x0000010558aa88 
        @attributes={"country_code"=>"US"}, 
        @prefix_options={}, 
        @persisted=false>
      }, 
    @prefix_options={}, 
    @persisted=true>

その属性を自分で選択できることはわかっていますが ( order.shipping_address.country_code)、これは応答を「スキニー ダウン」するためのものです。

ボーナス質問 1:fieldsパラメータを使用することで得られるメリットは何ですか?

おまけの質問 2: Shopify が配送先住所なしを返す可能性があるのはいつですか?

4

1 に答える 1

3

通常は、質問ごとに個別に投稿することをお勧めしますが、回答は次のとおりです。

  1. いいえ。
  2. 返されるデータを制限すると、応答を生成するのにかかる時間が短くなり、ネットワークを介して転送するデータが少なくなり、解析するデータが少なくなります。これは、操作を実行する方が高速であることを意味します。これは非常に多くの要因に依存するため、どれだけパフォーマンスが向上するかを判断するのは困難です。あなたが非常に多くのリクエストをしていない限り、それは最小限だと感じています。
  3. 注文 (つまり、すべての項目) が配送を必要としない場合、配送先住所は空白になることがあります。
于 2012-07-08T11:58:16.327 に答える