﻿1
00:00:01,290 --> 00:00:02,850
‫Kursleiter: In den letzten

2
00:00:02,850 --> 00:00:05,580
‫beiden Videos haben wir also einen verschachtelten POST-Endpunkt

3
00:00:05,580 --> 00:00:08,910
‫erstellt, um neue Rezensionen zu einer bestimmten Tour zu erstellen.

4
00:00:08,910 --> 00:00:10,420
‫Lassen Sie uns nun

5
00:00:10,420 --> 00:00:13,113
‫darauf aufbauen und auch einen verschachtelten GET-Endpunkt erstellen.

6
00:00:14,860 --> 00:00:17,290
‫Wir haben also bereits unsere

7
00:00:17,290 --> 00:00:19,570
‫getAllReviews-Handlerfunktion implementiert, oder?

8
00:00:19,570 --> 00:00:22,940
‫Aber im Moment ist alles, was es tut, im Grunde genommen

9
00:00:22,940 --> 00:00:26,040
‫eine Reihe aller Bewertungen in der Bewertungssammlung zu erhalten.

10
00:00:26,040 --> 00:00:29,020
‫Ein häufiger Anwendungsfall für Ihre API könnte

11
00:00:29,020 --> 00:00:32,030
‫nun darin bestehen, ein Array aller Bewertungen

12
00:00:32,030 --> 00:00:34,500
‫einer bestimmten Tour abzurufen, also

13
00:00:34,500 --> 00:00:37,080
‫sehr ähnlich wie bei createReview, oder?

14
00:00:37,080 --> 00:00:39,750
‫Also im Grunde ähnlich wie diese Route

15
00:00:39,750 --> 00:00:41,840
‫hier, aber außer mit GET.

16
00:00:41,840 --> 00:00:46,590
‫Also im Grunde so etwas, okay?

17
00:00:46,590 --> 00:00:49,330
‫Um dies zu implementieren, müssen

18
00:00:49,330 --> 00:00:51,640
‫wir also nur einige

19
00:00:51,640 --> 00:00:54,880
‫einfache Änderungen an unserer getAllReviews-Handlerfunktion vornehmen, oder?

20
00:00:54,880 --> 00:00:57,760
‫Denn dank der Merge-Parameter und

21
00:00:57,760 --> 00:01:02,290
‫dieser Art der Umleitung, die wir hier im letzten

22
00:01:02,290 --> 00:01:05,510
‫Video implementiert haben, wird diese getAllReviews-Handler-Funktion

23
00:01:05,510 --> 00:01:09,070
‫jetzt automatisch aufgerufen, wenn eine GET-Anfrage nach

24
00:01:09,070 --> 00:01:11,660
‫einer URL vorliegt, die

25
00:01:11,660 --> 00:01:14,020
‫aussieht so und

26
00:01:14,020 --> 00:01:17,060
‫erhält auch Zugriff auf die tourId,

27
00:01:17,060 --> 00:01:20,950
‫und wieder dank mergeParams auf true gesetzt.

28
00:01:20,950 --> 00:01:21,783
‫Gut?

29
00:01:21,783 --> 00:01:26,783
‫Also lass uns hier einfach ein paar ganz einfache Änderungen vornehmen, in Ordnung?

30
00:01:27,080 --> 00:01:29,080
‫Und was wir hier tun

31
00:01:29,080 --> 00:01:32,450
‫werden, ist zu überprüfen, ob es eine Tour-Id gibt, und wenn

32
00:01:32,450 --> 00:01:34,540
‫es eine gibt, nun, dann werden wir

33
00:01:34,540 --> 00:01:38,260
‫nur nach Bewertungen suchen, bei denen die Tour dieser Tour-Id entspricht, okay?

34
00:01:38,260 --> 00:01:39,530
‫Das ist also

35
00:01:39,530 --> 00:01:42,800
‫etwas, das mit find sehr einfach zu implementieren ist, oder?

36
00:01:42,800 --> 00:01:46,600
‫Im Grunde ist das, was wir tun, ungefähr so.

37
00:01:46,600 --> 00:01:51,127
‫Also, wenn es eine Anfrage gibt. Parameter. tourId, dann

38
00:01:53,690 --> 00:01:56,230
‫wollen wir ein Filterobjekt erstellen, das

39
00:01:56,230 --> 00:01:59,100
‫wir dann später gleich hier verwenden werden.

40
00:01:59,100 --> 00:02:02,580
‫Lassen Sie es uns gleich hier ablegen, und

41
00:02:02,580 --> 00:02:05,820
‫wir müssen es auch irgendwie initialisieren.

42
00:02:05,820 --> 00:02:10,820
‫Also, lass filtern, weil wir das dann mutieren wollen, okay?

43
00:02:11,530 --> 00:02:14,460
‫Wenn es also eine tourId gibt, sollte dieser

44
00:02:14,460 --> 00:02:15,710
‫Filter gleich tour: req

45
00:02:17,880 --> 00:02:20,087
‫sein. Parameter. tourId.

46
00:02:25,570 --> 00:02:28,740
‫Okay, und wenn es eine TourId gibt, dann

47
00:02:28,740 --> 00:02:32,520
‫ist dieses Objekt hier im Grunde das, was hier sein wird.

48
00:02:32,520 --> 00:02:34,610
‫Es werden also nur die Bewertungen

49
00:02:34,610 --> 00:02:37,090
‫gefunden, bei denen die Tour mit der ID übereinstimmt.

50
00:02:37,090 --> 00:02:40,610
‫Wenn es sich also nur um einen regulären

51
00:02:40,610 --> 00:02:44,450
‫API-Aufruf ohne verschachtelte Route handelt, ist dieser Filter einfach dieses

52
00:02:44,450 --> 00:02:48,130
‫leere Objekt, und dann werden wir alle Bewertungen finden, okay?

53
00:02:48,130 --> 00:02:50,140
‫Lassen Sie uns das also

54
00:02:50,140 --> 00:02:54,423
‫tatsächlich testen, denn das ist alles, was wir hier ändern müssen, in Ordnung?

55
00:02:56,030 --> 00:02:57,913
‫Also, lass

56
00:02:59,100 --> 00:03:03,680
‫uns das hier retten, auch dieses, in Ordnung?

57
00:03:03,680 --> 00:03:07,300
‫Lassen Sie uns also zunächst testen, ob

58
00:03:07,300 --> 00:03:12,060
‫unser getAllReviews, also das normale, noch wie beabsichtigt funktioniert, okay?

59
00:03:12,060 --> 00:03:15,830
‫So bekommen wir alle vier Bewertungen, die in unserer Sammlung sind.

60
00:03:15,830 --> 00:03:17,373
‫Lassen Sie uns

61
00:03:19,320 --> 00:03:22,803
‫das einfach überprüfen, und tatsächlich sind es vier Dokumente, okay?

62
00:03:23,800 --> 00:03:25,220
‫Aber

63
00:03:25,220 --> 00:03:29,510
‫jetzt erstellen wir unsere verschachtelte getAllReviews-Route, okay?

64
00:03:29,510 --> 00:03:32,433
‫Also, was ich tun werde, ist, dieses zu kopieren.

65
00:03:35,270 --> 00:03:40,270
‫Okay, und dann füge einfach Bewertungen hinzu, okay?

66
00:03:40,460 --> 00:03:43,670
‫Und so ist diese Tour der City Wanderer

67
00:03:43,670 --> 00:03:46,020
‫und hat tatsächlich eine Bewertung.

68
00:03:46,020 --> 00:03:48,530
‫Also erwarten wir jetzt ein

69
00:03:48,530 --> 00:03:51,340
‫Array mit einem Objekt darin, okay?

70
00:03:51,340 --> 00:03:53,110
‫Es gab also nur eine Bewertung.

71
00:03:53,110 --> 00:03:55,770
‫Und tatsächlich bekommen wir genau das.

72
00:03:55,770 --> 00:04:00,430
‫Dies sind also alle Bewertungen, die auf dieser Tour vorhanden sind, also

73
00:04:00,430 --> 00:04:02,860
‫die Tour mit dieser ID.

74
00:04:02,860 --> 00:04:06,323
‫Und eigentlich ist das ziemlich richtig, oder?

75
00:04:07,210 --> 00:04:11,220
‫Versuchen wir es mit einem anderen, und ich erinnere mich, dass dieser, also

76
00:04:11,220 --> 00:04:14,743
‫der Forest Hiker, meiner Meinung nach tatsächlich zwei Bewertungen hatte.

77
00:04:15,990 --> 00:04:19,173
‫Mal sehen, ob das auch funktioniert.

78
00:04:21,000 --> 00:04:22,690
‫Und so ja, in der Tat.

79
00:04:22,690 --> 00:04:23,563
‫Hier sind.

80
00:04:24,930 --> 00:04:26,340
‫Gut?

81
00:04:26,340 --> 00:04:30,830
‫Speichern wir das also noch in diesem Tours/Review-Ordner und

82
00:04:30,830 --> 00:04:33,387
‫holen wir AllReviews on tour.

83
00:04:39,840 --> 00:04:41,540
‫OK großartig.

84
00:04:41,540 --> 00:04:45,710
‫Das ist eigentlich alles, was ich Ihnen über verschachtelte Routen zeigen musste.

85
00:04:45,710 --> 00:04:49,610
‫Lassen Sie uns als nächstes unseren Review-Controller weiter füllen,

86
00:04:49,610 --> 00:04:52,462
‫denn im Moment haben wir wirklich nur

87
00:04:52,462 --> 00:04:54,350
‫getAllReviews und createReview.

88
00:04:54,350 --> 00:04:56,380
‫Und so wollen wir auch

89
00:04:56,380 --> 00:04:58,540
‫aktualisieren, löschen und all das Zeug, und

90
00:04:58,540 --> 00:05:01,253
‫darum kümmern wir uns in der nächsten Vorlesung.

