Ich arbeite an einer nativen mobilen Anwendung und möchte das Produkt anzeigen, nachdem der Kunde eine Kategorie ausgewählt hat. Ich kann eine Liste des Produkts nach Kategorie in der Restanfrage abrufen, aber diese Liste enthält nicht viele Details zum Produkt.
Request : http://localhost/magento2/index.php/rest/V1/categories/24/products
( 24 ist Kategorie ID )
Response : [{"sku":"WH01","position":1,"category_id":"24"},...]
Früher in der Magento 1.9
Produktliste war so etwas wie
{ 2: { entity_id: "2" type_id: "einfach" sku: "Levis Bagpack" Beschreibung: "Bagpack" Kurzbeschreibung: "Bagpack" meta_keyword: null Name: "Levis Bagpack" meta_title: null meta_description: null regulärer_Preis_mit_Tax: 45 regulärer_Preis_ohne_Tax: 45 final_price_with_tax: 45 final_price_without_tax: 45 is_saleable: true image_url: "http://172.16.8.24:8080/magento/media/catalog/product/cache/0/image/9df78eab33525d08d6e5fb8d27136e95/images/catalog/product/placeholder/image.jpg" } -
Was kann ich tun, um weitere Informationen zum Produkt zu erhalten, damit ich Bilder und andere Dinge in der mobilen App anzeigen kann?
Antworten:
Vielleicht können Sie die REST-API GET / V1 / products /: sku ausprobieren, um alle Details abzurufen ( https://github.com/magento/magento2/blob/develop/app/code/Magento/Catalog/etc/webapi.xml) # l36 )
Der zurückgegebene Wert ist die Darstellung von \ Magento \ Catalog \ Api \ Data \ ProductInterface (einschließlich der zusätzlichen Attribute) https://github.com/magento/magento2/blob/develop/app/code/Magento/Catalog/Api/Data /ProductInterface.php
Überprüfen Sie \ Magento \ Catalog \ Api \ ProductRepositoryInterface :: Get, welche Dienste die GET / V1 / products /: sku-REST-API bereitstellen.
Sie können mehrere Anforderungen für alle Produkt-SKUs stellen.
ODER
Sie können die Such-API verwenden, um die gesamte Liste in einer einzelnen Anforderung basierend auf Ihren Kriterien abzurufen:
Beispiel: http: //localhost/magento2/index.php/rest/V1/products? searchCriteria [Filtergruppen] [0] [Filter] [0] [Feld] = sku & searchCriteria [Filtergruppen] [0] [Filter] [0] [Wert] = einfach & Suchkriterien [Filtergruppen] [0] [Filter] [1] [Feld] = Sku & Suchkriterien [Filtergruppen] [0] [Filter] [1] [Wert] = Einfach2 & Suchkriterien [Filtergruppen] [0] [Filter] [0 ] [condition_type] = eq & searchCriteria [current_page] = 1 & searchCriteria [page_size] = 2
In diesem Fall werden Produkte mit SKUs - simple und Simple2 - gesucht.
quelle
Zusätzlich (nicht als Ersatz) zu den anderen Antworten können Sie Lücken schließen, indem Sie Ihre eigenen API-Funktionen schreiben: https://alankent.wordpress.com/2015/07/24 / Erstellen eines neuen Rest-Webdienstes in Magento-2 /
quelle
Ebenso können Sie $ requestUrl ändern und die Produktliste nach Kategorie-ID filtern und Produktdetails abrufen.
Bitte bestätigen Sie, ob es Ihr Problem löst oder nicht. Sonst werde ich eine andere Lösung posten.
quelle
Zusätzlich zu den Aussagen von @airboss arbeiten wir an unserem API-Integrationsstil. Dies ist ein API-Aufruf, dem erweiterbare Attribute hinzugefügt werden (Katalog, Vertrieb).
In einigen Wochen sollten Sie in der Lage sein, einen REST-API-Aufruf von GET / V1 / products /: sku durchzuführen und alles zu diesem Produkt abzurufen (wenn Sie als Kunde autorisiert sind, wird das Inventarobjekt nicht angezeigt). Wenn Sie beispielsweise eine SKU aufrufen, die ein gebündeltes Produkt ist, erhalten Sie das einfache Produkt, eine Reihe von Produktoptionen, eine Reihe von Produktlinks, Medien-URLs und das Inventarobjekt *. Dasselbe gilt, wenn Sie die Such-API verwenden (wir werden sie stattdessen bald Filter nennen).
-Futter
quelle