J'ai une architecture orientée services avec des services de couple.Comment obtenir des données triées d'un service à un autre sur http
produit - Liste des magasins de produits
{ id: number, price: number }
Catégories - Informations catégorie magasin + la liste des ids produits
{ id: number, parentCategory: number, productIds: number[] }
laisse supposer que je avoir une telle catégorie insta nce
{
id: 1,
parentCategory: null,
productIds: [1, 3, 4, 5, ....]
}
J'ai besoin d'obtenir 10 produits de la catégorie ci-dessus triés par prix du produit.
processus de service Catégorie cette demande et parce qu'il ne sait rien sur le prix, il doit en faire la demande au service de produit comme ça:
/api/products?
ids=<list of all product ids>
limit=10
sortBy=price
qui ne fonctionne pas bien lorsque la catégorie a beaucoup de produits.
Quelle est la recette dans un tel cas? Merci.
Pourquoi avez-vous besoin de récupérer ces identifiants? Probablement vous ne devriez pas les recevoir de retour? Mais les transmettre à travers le service de produits où ils pourraient être triés et retransmis dans un autre appel de service et non pas comme une réponse dans le bon ordre? Vous devez passer ces identifiants d'une manière ou d'une autre, sinon vous devrez les avoir déjà triés dans le service Catégories, – cassandrad
@cassandrad Non, je ne m'attends pas à recevoir des identifiants triés. Essentiellement, сategory demande de trier une liste prédéfinie d'identifiants de produit (identifiants appartenant à une certaine catégorie) et de renvoyer seulement 10 produits. Et je suis inquiet quand la catégorie, par exemple, aura 1000 identifiants de produits, elle doit tous les envoyer via une requête HTTP. –
Pouvez-vous ajouter un exemple avec des données dans les deux services à votre question, s'il vous plaît? – cassandrad