【问题标题】:Does Shopify Order API allows filtering by nested fields?Shopify Order API 是否允许按嵌套字段过滤?
【发布时间】:2012-07-08 10:46:16
【问题描述】:

我正在使用shopify_api gem。

The API doc 表明您可以通过告诉它返回哪些字段来缩减 ShopifyAPI::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 何时(如果有的话)可能会返回零送货地址?

【问题讨论】:

    标签: ruby-on-rails shopify


    【解决方案1】:

    通常最好针对每个问题单独发布,但这里是答案。

    1. 没有。
    2. 如果您限制返回的数据,则生成响应所需的时间会减少,通过网络传输的数据也会减少,需要解析的数据也会减少。这意味着您应该更快地进行操作。这取决于许多不同的因素,很难说您将获得多少性能提升。我的感觉是,除非您执行大量请求,否则它是微乎其微的。
    3. 如果订单(即所有订单项)不需要送货,送货地址可能为空。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多