web-dev-qa-db-fra.com

REST api: demander plusieurs ressources en un seul get

J'essaie de concevoir une API RESTful dans laquelle les utilisateurs peuvent extraire un seul produit ou une liste de produits dans une seule requête GET. Chaque produit a un identifiant unique.

L'URL unique du produit est assez simple:

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

Cela renvoie les informations pour un seul produit. Je ne comprends pas à quoi l'URL de plusieurs informations sur le produit devrait ressembler.

Que diriez-vous

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

où ids est une liste d'identifiants séparés par des virgules?

63
user824212

Votre suggestion d'id séparés par des virgules est suffisante.

Il serait instructif d’examiner certaines API REST) publiques pour voir comment elles sont gérées. Par exemple, l’API StackExchange sépare les identifiants avec un point-virgule - https: //api.stackexchange .com/docs/answers-by-ids

46
aldrin

Je vous conseillerais d'y penser comme si vous listiez plusieurs représentations de la ressource filtrées par identifiant. En tant que tel, vous faites une demande GET à la ressource de base:

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

Et filtrez la liste de réponses par id:

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

114
abraham