Magento 2 REST API - 通过slug获取产品,或者在REST搜索中获取媒体

时间:2016-07-12 09:48:35

标签: rest magento magento2

我有一个ember应用程序,我用它作为前端。我需要从REST api中获取产品,但我不需要使用SKU,而是需要使用slug。所以我访问以下端点,它可以正常工作:http://*.com/index.php/rest/V1/products?searchCriteria[filter_groups][0][filters][0][field]=url_key&searchCriteria[filter_groups][0][filters][0][value]=daniels-icecream-slug

但是,结果显然是产品列表而不是产品端点,因此省略了一些数据。即,media_gallery_entries字段。那么我是否可以在/products?searchCriteria端点返回此数据,或者我是否可以为产品端点提取/products/:slug而不是/products/:sku

2 个答案:

答案 0 :(得分:1)

您还需要使用API​​调用来定义conditionType,如下所示

V1/products/?searchCriteria[filterGroups][0][filters][0][field]=url_key&searchCriteria[filterGroups][0][filters][0][value]=%shirt%&searchCriteria[filterGroups][0][filters][0][condition_type]=like
  

参数:

searchCriteria[filterGroups][0][filters][0][field]=url_key
searchCriteria[filterGroups][0][filters][0][value]=%shirt%
searchCriteria[filterGroups][0][filters][0][condition_type]=like

注意:确保前缀&根据您的要求,后缀%的值。

我在api Calls中使用相同的功能

答案 1 :(得分:0)

我正在使用Magento v2.2,当我进行搜索时,每个项目都有image属性(在custom_attributes列表中),mangento会在向上添加时自动添加到产品中想象一下:

{
  "items": [{
    "sku": "MH07-XS-Black",
    "name": "Hero Hoodie-XS-Black",
    "custom_attributes": [{
        "attribute_code": "description",
        "value": "<p>Gray and black color blocking sets you apart as the Hero Hoodie keeps you warm on the bus, campus or cold mean streets. Slanted outsize front pockets keep your style real . . . convenient.</p>\n<p>&bull; Full-zip gray and black hoodie.<br />&bull; Ribbed hem.<br />&bull; Standard fit.<br />&bull; Drawcord hood cinch.<br />&bull; Water-resistant coating.</p>"
      },
      {
        "attribute_code": "image",
        "value": "/m/h/mh07-black_main.jpg"
      },
      {
        "attribute_code": "small_image",
        "value": "/m/h/mh07-black_main.jpg"
      },
      {
        "attribute_code": "thumbnail",
        "value": "/m/h/mh07-black_main.jpg"
      },
      {
        "attribute_code": "color",
        "value": "49"
      },
      {
        "attribute_code": "minimal_price",
        "value": "54.0000"
      },
      {
        "attribute_code": "category_ids",
        "value": [
          "15"
        ]
      },
      {
        "attribute_code": "options_container",
        "value": "container2"
      },
      {
        "attribute_code": "required_options",
        "value": "0"
      },
      {
        "attribute_code": "has_options",
        "value": "0"
      },
      {
        "attribute_code": "url_key",
        "value": "hero-hoodie-xs-black"
      },
      {
        "attribute_code": "msrp_display_actual_price_type",
        "value": "0"
      },
      {
        "attribute_code": "tax_class_id",
        "value": "2"
      },
      {
        "attribute_code": "size",
        "value": "167"
      }
    ]
  }]
}