Simple REST API Get a single product

Hallo zusammen,

ich scheine stark auf dem Schlauch zu stehen. Ich teste gerade mit der API von Shopware 6 und nutze die RestApiHandling Klasse von Shopware, die auf GIT bereitgestellt wurde.

Dabei habe ich über https://api-doc.friendsofshopware.com/ die Routes betrachtet und nun folgendes Problem:

Alle Produkte laden (funktioniert einwandfrei)

 $this-\>restService-\>request('GET', 'product');

Ein bestimmtes Produkt laden (laut Doku: GET ​/product​/{id})

 $this-\>restService-\>request('GET', 'product/1'); --\> Error 0: Not Found No route found for "GET /api/v1/product/1"

Offenbar stehe ich sehr auf dem Schlauch, kann mir jemand einen Tipp geben?

Du musst die ID eingeben. 1 ist keine valide UUID

2 Likes

Ja vielen Dank für die schnelle Antwort Shyim. Funktioniert einwandfrei, ich frage mich nur, weshalb man keine vernünftige Fehlermeldung ausgibt. No Route found bedeutet, dass keine Route registriert ist und das ist schlichtweg falsch. Die Route gibt es!

Wenn man das ganze bspw mit

 $this-\>restService-\>request('GET', 'product/0f533e72c9f0 **4** 4649e **1** f33443c47ba3c') 

durchführt und dabei irgendwelchen Ziffern ändern (fett), kommt eine vernünftige Fehlermeldung wie „Error 0: Not Found The product resource with the following primary key was not found:“.

Daraus schließe ich, dass das System den Parameter anhand der Länge oder des Typs prüft. Hier wäre eine klarere Fehlermeldung á la „Error 0. Sorry, the parameter seems to have a wrong format“ sinnvoll. Das nur als konstruktive Kritik.