‫Instructeur : Ainsi, dans les
‫deux dernières vidéos, nous avons créé un point de terminaison
‫POST imbriqué afin de créer de nouvelles critiques sur une certaine tournée.
‫Alors, construisons maintenant sur cela
‫et créons également un point de terminaison GET imbriqué.
‫Nous avons donc déjà implémenté notre fonction
‫de gestion getAllReviews, n'est-ce pas ?
‫Mais pour le moment, tout ce qu'il fait, c'est obtenir un
‫tableau de toutes les critiques de la collection de critiques.
‫Maintenant, un cas d'utilisation courant pour votre API
‫pourrait être d'obtenir un tableau de toutes les
‫critiques d'une tournée particulière, donc très
‫similaire à la createReview, n'est-ce pas ?
‫Donc fondamentalement similaire à cette route ici,
‫mais sauf avec GET.
‫Donc, en gros, quelque chose comme ça, d'accord ?
‫Et donc, tout ce que nous devons faire pour
‫implémenter cela est d'apporter quelques modifications
‫simples à notre fonction de gestionnaire getAllReviews, n'est-ce pas ?
‫Parce qu'en ce moment, grâce aux paramètres
‫de fusion et à ce type de redirection que nous avons implémenté
‫ici dans la dernière vidéo, donc grâce à tout
‫cela, cette fonction de gestionnaire getAllReviews sera désormais automatiquement appelée
‫chaque fois qu'il y aura une demande
‫GET pour une URL qui
‫ressemble comme ça, et aura également accès au
‫tourId, et encore une fois, grâce à mergeParams défini sur true.
‫D'accord?
‫Alors faisons quelques changements très simples ici, d'accord ?
‫Et ce que nous allons faire
‫ici, c'est vérifier s'il y a un tourId, et s'il y en
‫a un, eh bien, alors nous ne chercherons
‫que les avis où le tour est égal à ce tourId, d'accord ?
‫Donc, c'est quelque chose
‫de très simple à implémenter en utilisant find, n'est-ce pas ?
‫Donc, en gros, ce que nous faisons est quelque chose comme ça.
‫Donc, s'il y a une demande. paramètres. tourId, alors
‫nous voulons créer un objet filtre,
‫que nous utiliserons plus tard ici.
‫Mettons-le ici tout de suite, et nous
‫devons également l'initialiser en quelque sorte.
‫Alors, laissez filtrer, car nous voulons ensuite muter cela, d'accord ?
‫Ainsi, s'il existe un tourId, ce filtre doit être
‫égal à tour :
‫req. paramètres. tourId.
‫D'accord, et donc, encore une fois, s'il y a
‫un tourId, alors fondamentalement, cet objet ici est ce qui sera ici.
‫Et ainsi, seuls les avis
‫où la visite correspond à l'ID seront trouvés.
‫Donc, s'il ne s'agit que d'appels API normaux
‫sans route imbriquée, alors ce filtre sera simplement cet objet vide,
‫et nous allons donc trouver toutes les critiques, d'accord ?
‫Et, donc, testons cela, parce
‫que c'est tout ce que nous devons changer ici, d'accord ?
‫Alors, sauvons
‫celui-ci, celui-là aussi, d'accord ?
‫Et donc, pour commencer, testons si notre
‫getAllReviews, donc la version normale, fonctionne toujours comme prévu, d'accord ?
‫Nous obtenons donc les quatre critiques de notre collection.
‫Vérifions simplement cela,
‫et effectivement il y a quatre documents, d'accord ?
‫Mais maintenant,
‫créons en fait notre route getAllReviews imbriquée, d'accord ?
‫Donc, ce que je vais faire, c'est copier celui-ci.
‫D'accord, puis ajoutez simplement des critiques, d'accord ?
‫Et donc cette tournée est le City Wanderer, et
‫elle a en fait une critique.
‫Et donc, nous nous attendons maintenant à
‫obtenir un tableau contenant un objet, d'accord ?
‫Donc, il n'y a eu qu'un seul avis.
‫Et en effet, c'est exactement ce que nous obtenons.
‫Ce sont donc toutes les critiques qui sont présentes sur cette tournée,
‫donc, la tournée avec cet identifiant.
‫Et, en fait, c'est assez correct, non?
‫Essayons-en un autre, et je me souviens que celui-ci, donc le Forest
‫Hiker, a en fait eu, je pense, deux critiques.
‫Voyons donc si cela fonctionne aussi.
‫Et donc oui, en effet.
‫Ici, il y a.
‫D'accord?
‫Enregistrons donc cela, toujours dans ce dossier visites/revues, et
‫ainsi getAllReviews en tournée.
‫D'accord génial.
‫C'est en fait tout ce que j'avais à vous montrer sur les routes imbriquées.
‫Ensuite, continuons à remplir notre contrôleur de révision, car
‫pour le moment, nous n'avons vraiment que
‫getAllReviews et createReview.
‫Et donc nous voulons aussi mettre
‫à jour, supprimer, et tout ça, et
‫alors allons nous en occuper dans la prochaine conférence.