it-swarm.com.de

REST api: Anfordern mehrerer Ressourcen in einem einzigen Get

Ich versuche, eine RESTful-API zu entwerfen, mit der die Benutzer ein einzelnes Produkt oder eine Liste von Produkten in einer einzelnen GET-Anforderung abrufen können. Jedes Produkt hat eine eindeutige ID.

Die einzelne Produkt-URL ist einfach genug:

http://mycompany.com/api/v1/product/id

Dies gibt die Informationen für ein einzelnes Produkt zurück. Ich bin verwirrt, wie die URL für mehrere Produktinformationen aussehen soll.

Wie wäre es mit

http://mycomapny.com/api/v1/product/ids

wo IDs ist eine durch Kommas getrennte Liste von IDs?

63
user824212

Ihr Vorschlag, die IDs durch Kommas zu trennen, ist gut genug.

Es wäre aufschlussreich, einige öffentliche REST APIs zu untersuchen, um festzustellen, wie sie funktionieren. Beispielsweise trennt die StackExchange-API IDs durch ein Semikolon - https: //api.stackexchange .com/docs/answers-by-ids

46
aldrin

Ich würde empfehlen, sich das so vorzustellen, als würden Sie mehrere Darstellungen der nach ID gefilterten Ressource auflisten. Als solches senden Sie eine GET -Anforderung an die Basisressource:

https://example.com/api/v1/products

Und filtern Sie die Antwortliste nach id:

https://example.com/api/v1/products?id=1,2,3

114
abraham