Supposons que le client demande GET pour/items/color/{color}Conception de l'API RESTful. Lorsque la requête est accompagnée d'un filtre, devez-vous également renvoyer les valeurs de ce filtre?
Lorsque le serveur renvoie un tableau d'objets ayant cette couleur, est-ce que chaque objet élément doit avoir une propriété de couleur ou non?
Le client connaît la couleur des articles retournés car il a demandé cette couleur. Le serveur doit-il essayer de réduire ou de réduire la taille de la réponse?
EDIT: Les utilisateurs peuvent-ils toucher davantage à la sauvegarde de la bande passante? S'il est préférable de renvoyer la totalité de la ressource, les réponses peuvent-elles indiquer pourquoi il est préférable de renvoyer la totalité de la ressource par rapport à l'économie de la bande passante, plutôt que la seule raison pour laquelle la ressource entière doit être renvoyée.
Eh bien, vous auriez de la documentation. Si vous décrivez ce comportement et qu'il est cohérent dans votre API, ce ne serait pas vraiment inattendu, non? En outre, qu'en est-il de la sauvegarde de la bande passante, pouvez-vous y répondre? Cela n'a pas d'importance? Dans le développement web, les gens se soucient vraiment de chaque kb, ce qui rend la taille de la réponse plus petite et donc l'application plus rapide semble être important. La différence serait évidemment d'autant plus grande que le plus grand tableau est retourné et plus il y a de filtres, je pense que dans certains cas cela pourrait être vraiment significatif. Répéter la même information que le client connaît déjà dans chaque objet semble inutile. – Erndob
Une ressource doit contenir les mêmes champs, quelle que soit la façon dont elle est obtenue, filtrée ou non. C'est comme ça que je comprends REST. Bien sûr, vous êtes libre de mettre en œuvre tout ce que vous voulez. La taille compte, mais votre exemple économise quoi - 20 octets? Ce que je ferais est: permettre au client de spécifier les champs qui devraient être retournés. Dans ce cas, le client est responsable de la sauvegarde de la bande passante. –