Es ist Zeit, mit dem vierten und letzten Auftrag dieses Kurses zu beginnen.
Ich habe diesen Auftrag so konzipiert,
dass er eine Konsolidierung all dessen darstellt, was Sie in diesem Kurs gelernt haben.
Diese Zuweisung beinhaltet also das Routing mit dem Express-Router.
Es wird das Design von Schemas im Modell beinhalten,
für unsere MongoDB und Mongoose,
und dann wird es auch kurz auf die Benutzerauthentifizierung schauen.
Was genau machen wir in diesem Auftrag?
Diese Zuweisung basiert auf der Fähigkeit eines Benutzers,
eine Liste von Gerichten als Lieblingsgerichte auf der Serverseite zu speichern und abzurufen.
Wenn Sie die vorherigen Kurse dieser Spezialisierung,
insbesondere die Hybrid-Mobile-App-Entwicklungskurse,
ob es sich
um ionische oder native Skript, Sie haben gesehen, dass wir die Apps entworfen haben, um dem Benutzer zu erlauben,
Gerichte in der Liste ihrer Favoriten zu speichern Gerichte
und auch abrufen Gerichte aus dieser Liste ihrer Lieblingsgerichte.
Als wir das in den vorherigen Kursen
implementiert haben, hatten wir das mit lokalem Speicher auf dem jeweiligen Gerät implementiert.
In dieser Zuweisung erweitern Sie
die Serverseite, um genau das unterstützen zu können.
Auf diese Weise kann der Benutzer seine Liste der Lieblingsgerichte auf
der Serverseite speichern und auf diese Liste von
jedem Gerät zugreifen, von dem er sich bei seinem Server anmeldet.
Das bedeutet, dass wir eine neue Route für unseren Server entwerfen müssen,
die wir als /favorites Route aufrufen werden.
Auf dieser Route müssen wir den Express-Router entwerfen, um die Get,
Post und Delete Operationen auf dieser Route zu unterstützen und
auch das Schema zu entwerfen, um die Lieblingsgerichte
und das entsprechende Mongoose-Modell zu speichern und
die beiden miteinander zu verbinden, so dass die Informationen gespeichert werden können und aus MongoDB abgerufen.
Wir werden auch die Mungo Population verwenden, um die Informationen aus
dem Benutzermodell und aus dem Geschirr Modell zu ziehen, wenn wir
diese Liste der Lieblingsgerichte für unseren Benutzer zusammenstellen.
Die bevorzugten Gerichte Informationen, die Sie speichern
, enthalten weder die Benutzerinformationen noch die Informationen des Gerichts.
Stattdessen enthält es Hinweise auf die Dokumente für das Gericht Dokument und für
das Benutzerdokument und dann werden wir diese Informationen veröffentlichen,
wenn wir diese Informationen als Antwort auf eine get Anfrage zurücksenden.
Schauen wir uns an, wie wir
diese endgültige Aufgabe umsetzen und auch die verschiedenen Aufgaben in diesem endgültigen Auftrag.
Um Ihnen zu helfen zu verstehen, was in
der endgültigen Zuweisung erforderlich ist oder was Sie in der endgültigen Zuweisung implementieren werden,
lassen Sie mich zeigen, was Ihr Server am Ende dieser Zuweisung erwartet
wird, und dann werde ich die drei Aufgaben auflisten, die Sie in diesem -Zuweisung.
Um zu beginnen, brauchen wir eine Reihe von Gerichten, die bereits auf
der Serverseite sind, damit der Benutzer einige von ihnen als ihre Lieblingsgerichte markieren kann.
Ich habe vorangegangen und in vier Gerichten zu meiner Liste der Gerichte auf der Serverseite hinzugefügt.
Sie wissen bereits, wie das geht.
Sie müssen sich als Administrator einloggen und
diese Informationen dann nacheinander auf der Serverseite posten.
Damit Sie die Informationen für jedes dieser Gerichte erhalten,
habe ich Ihnen bereits die Datei db.json zur Verfügung gestellt, die die
JSON-Dokumente enthält, die jedem dieser Gerichte in den Zuweisungsressourcen entsprechen.
Sie können das öffnen, Informationen von dort ausschneiden und einfügen und dann
eine Liste mit Gerichten auf Ihrer Serverseite erstellen.
Hier werden Sie sehen, dass ich bereits die get-Operation auf dem
localhost durchgeführt haben:3000/Gerichte und dann
sehen Sie, dass ich bereits die Liste der Gerichte hier erhalten habe.
Was uns wichtig ist, ist, dass jedes Gericht hier seine eigene ID hat.
Wenn Sie jedes Gericht als Ihr Favorit markieren müssen,
benötigen Sie Zugriff auf die Schalen-ID für jedes dieser Gerichte.
Sie können diese vier Teller IDs kopieren und dann speichern, so dass, wenn Sie
die Operationen durchführen, um diese Gerichte zur Liste der Gerichte hinzuzufügen,
dann können Sie diese Gericht ID verwenden.
Also werde ich diese vier Teller IDs kopieren und
sie dann in einem Textdokument speichern, damit ich sie nutzen kann.
Bevor ich Gerichte zu meiner Liste hinzufügen kann,
muss ich mich natürlich als Benutzer einloggen.
Lassen Sie mich voran und melden Sie sich als einer der Benutzer an.
Um dies zu tun, lassen Sie mich einen Beitrag auf dem localhost machen:3000/users/login.
Und im Nachrichtentext,
lassen Sie mich einen der registrierten Benutzer eingeben.
Ich möchte mich nicht als Admin anmelden, sondern als einer der anderen normalen Benutzer.
Also lassen Sie mich diesen Beitrag zu https://localhost:3443 tun.
Jetzt all diese Operationen,
dies ist besser, es auf dem HTTPS-Endpunkt zu tun, anstatt auf dem HTTP-Endpunkt.
Wir erstellen einen Beitrag zu diesem Endpunkt und melden uns in unserem Service an,
und als Antwort sollten Sie in der Lage sein, das JSON-Web-Token zu erhalten.
Lassen Sie uns also eine Kopie dieses JSON-Web-Token erstellen, weil wir dies benötigen, um
eine der Operationen auszuführen, um Gerichte zu unserer Favoritenliste hinzuzufügen.
Lassen Sie mich dieses Token kopieren und in meinem Textdokument speichern.
Nun, wie füge ich ein Gericht zu meiner Favoritenliste hinzu?
Um dies zu tun, ist der erste Schritt, dass wir
auf den /favorites-Endpunkt zugreifen müssen.
Wenn Sie ein bestimmtes Gericht in die Liste der Favoriten hinzufügen möchten,
sagen wir einfach /favorites und fügen dann die Dish-ID in die URL hier.
Lassen Sie mich eine Schüssel ID einfügen, die ich zu meiner Favoritenliste hinzufügen möchte.
Hier habe ich meine Schale ID in die Liste der Favoriten eingefügt.
Der Text dieser Hostnachricht
enthält nichts, da alles, was ich brauche, bereits in der URL enthalten ist.
Und für den Header
muss ich den Autorisierungs-Header einrichten,
und im Autorisierungs-Header
brauche ich das Token.
Lassen Sie mich also das Token hier und dann in den Autorisierungs-Header kopieren,
sagen wir Bearer und fügen Sie den Autorisierungs-Header ein.
Sie können auch dasselbe tun, um das Token zu erhalten.
Sie können sich auch über Facebook anmelden und dann das JSON-Web-Token abrufen.
Ich habe veranschaulicht, das JSON-Web-Token mit
der lokalen Standardauthentifizierung mit dem Benutzernamen und dem Kennwort zu erhalten,
aber es spielt keine Rolle, auf welche Weise Sie das JSON-Web-Token erhalten haben.
Solange Sie das JSON-Web-Token haben,
sollten Sie in der Lage sein, alle diese Vorgänge auszuführen.
Lassen Sie mich die Post-Operation an diesem Endpunkt durchführen und denken Sie daran, dass dies
die Schalen-ID für das spezifische Gericht ist, das ich meiner Favoritenliste hinzufügen möchte.
Wenn ich in die Liste der Favoriten poste,
werden Sie sehen, dass mein Server mit diesem Dokument hier im Antworttext zurückantwortet.
Lassen Sie uns nun dieses Dokument untersuchen, um zu sehen, was genau es enthält.
Dieses Dokument enthält, wie Sie sehen können, eine ID,
aber offensichtlich, weil es sich um ein JSON-Dokument handelt,
zusätzlich enthält es ein
Feld hier namens user.
Nun, was speichert dieses Benutzerfeld?
Dieses Benutzerfeld ist die Objekt-ID des Benutzers
, dem diese spezielle Favoritenliste entspricht.
Und sieh dir das Geschirr an.
Das Geschirr ist ein Array und es ist eine Reihe von Gericht IDs.
Und in diesem Fall habe ich gerade das erste Gericht zu meiner Favoritenliste hinzugefügt.
Deshalb habe ich nur ein Gericht in der Reihe von Gerichten in meiner Favoritenliste.
Dies sollte Ihnen also sofort vorschlagen, wie Sie das Schema für Ihre Favoriten entwerfen.
Also enthält Gerichte die Objekt-IDs jedes der Gerichte,
und der Benutzer enthält die Objekt-ID, die dem Benutzer entspricht.
Sie haben bereits gesehen, wie ich
die Informationen verwenden, um Population der Informationen zu tun, wenn ich eine get Operation. Das
haben wir bereits mit Kommentaren gemacht.
Also, das sollte Ihnen einen großen Hinweis darauf geben, wie Sie das Schema entwerfen würden,
das den Benutzer und die Vielfalt der Gerichte in meiner Liste der Gerichte enthält.
Jetzt haben wir den Beitrag dazu gemacht.
Lassen Sie uns die Liste der Favoriten erhalten.
Also, um die Liste der Favoriten zu erhalten,
muss ich eine get Operation durchführen.
Nun, für die Get-Operation,
muss ich natürlich auch die Autorisierungsinformationen hier haben, weil
Sie möchten, dass ein Benutzer nur seine Favoritenliste abrufen kann,
und kein anderer Benutzer kann die Liste der Favoriten für einen anderen Benutzer abrufen.
Also, das ist sehr wichtig.
Dies schlägt Ihnen also nahe, dass Sie die
Authentizität des Benutzers auch für den get-Vorgang überprüfen müssen.
Wie
erhält der Post-Vorgang automatisch diese Objekt-ID, die dem Benutzer entspricht? Denken Sie
daran, dass, wenn Sie den Autorisierungs-Header hier einfügen,
aus dem Autorisierungs-Header
übrigens, wie Sie die Autorisierung des Benutzers ausführen,
leiten, dass Benutzereigenschaften bereits auf das Anforderungsobjekt geladen wurden.
Und so erhalten Sie Zugriff auf die Objekt-ID des Benutzers.
Also, ein weiterer Hinweis, wie Sie diese Informationen ausfüllen werden.
Deshalb beachten Sie, dass ich, als ich den Beitrag durchgeführt habe,
nie den Benutzer angegeben habe, weil
die Informationen des Benutzers automatisch
von dem abgeleitet werden sollten, was wir hier im Autorisierungs-Header angegeben haben.
Also, ein weiterer Hinweis, wie Sie dies umsetzen würden.
Deshalb habe ich gesagt, dass dieser Auftrag eine Konsolidierung
aller Themen ist, die Sie in diesem Kurs erforscht haben.
Nun, Ich unterstütze nicht eine get Operation auf einem bestimmten Gericht ID.
Es macht keinen Sinn, das auf den Favoriten
in einer bestimmten Schüssel ID zu unterstützen.
Stattdessen können wir eine get Operation auf lokalen Host ausführen 3443/Favoriten.
Und dann führen wir die Get Operation durch.
Sie würden sofort feststellen, dass das Dokument, das an Sie zurückgesendet wird,
die Informationen des Benutzers enthält, die bereits durch den Vorgang get hier ausgefüllt wurden.
Also, die Informationen des Benutzers.
Anstelle der Benutzer-ID dort sind also
bereits die Informationen des Benutzers vorhanden.
Dies geschieht durch Mongos Bevölkerung.
Also, das ist ein weiterer großer Hinweis darauf, wie Sie die get-Operation implementieren sollen.
Nicht nur die Informationen des Nutzers werden ausgefüllt.
Warum sollte ich nun wollen, dass die Informationen des Benutzers ausgefüllt werden?
Denn das kann nützlich sein, wenn ich Informationen anzeige.
Dies ist möglicherweise nicht notwendig,
aber ich mache das nur aus Gründen der Vollständigkeit,
denn wenn Sie die Liste der Favoriten für einen bestimmten Benutzer abrufen,
wissen Sie automatisch, wer der Benutzer ist,
und dieser bestimmte Benutzer sich ohnehin einloggt.
Wenn Sie jedoch die Informationen des Benutzers wünschen,
können Sie diesen Vorgang ausführen, um die Informationen dieses Benutzers zu erhalten.
Also, nur um Ihnen zu zeigen, dass Mongos Bevölkerung verwendet werden kann,
habe ich nicht nur illustriert, dass in der Liste der Gerichte hier
die Informationen über jedes Gericht bereits in diesem Array bevölkert sind.
Also, wenn Sie eine Reihe von Gerichten haben,
sollten die Informationen jedes dieser Gerichte in dieses Array eingefüllt werden.
Also, dies ist eine andere Mongo Bevölkerung Nutzung
, die Sie sehen, um in den Geschirr Informationen zu füllen.
Nur durch die Art und Weise, wie Sie das Schema für Ihre Favoriten einrichten,
sollte dies automatisch für Sie möglich sein, indem Sie
nur den Punkt auf der Liste der Gerichte hier füllen.
Also, das ist der zweite Teil.
Jetzt, da wir in der Lage sind, die Methode get Gerichte abzurufen,
lassen Sie mich Ihnen zeigen, wie Sie eine Post-Operation durchführen können, bei der Sie
eine Reihe von Gerichten in Ihre Favoritenliste einfügen können.
Nun, gehen Sie zurück zu diesem Beitrag,
wenn Sie nicht nur ein, sondern eine Reihe von Gerichten zu Ihrer Liste der Favoriten hinzufügen müssen,
warum sollten Sie das wollen?
Vielleicht haben Sie auf der Seite des Kunden eine Schaltfläche, mit der Sie, wenn
Sie darauf klicken, markieren Sie eine Reihe von Gerichten aus der Liste der Gerichte,
und fügen Sie sie dann bei einem Schuss in Ihre Liste der Favoriten.
Um diese Art von Operation zu unterstützen,
möchten Sie möglicherweise zulassen, dass ein Beitrag auf den Schrägstrich Favoriten hier ausgeführt wird.
Wenn der Beitrag nun mit den Schrägstrickfavoriten ausgeführt wird,
benötigen Sie noch den Autorisierungs-Header.
Aber im Nachrichtentext
werden wir die Liste der Gerichte als ein Array dieses Formats speichern.
Also, dies ist ein JSON-Dokument hier,
also lassen Sie mich sicherstellen, dass in meinem Header
der Inhaltstyp bereits dort vorhanden ist.
Nun wird dieses Dokument
eine Reihe von Gerichten wie dieses enthalten.
Also, jedes Gericht wird durch
Unterstrich ID Doppelpunkt identifiziert werden,
und dann hier werden sie die Gericht ID haben,
und so wäre dies nichts anderes als eine Reihe von Gerichten.
Also, lassen Sie mich zwei Gerichte zu meiner Liste der Favoriten hier hinzufügen, nur um den Punkt zu veranschaulichen.
Also, lassen Sie mich die IDs von ein paar Gerichten in das einfügen.
Also, wenn Sie einen Beitrag auf dem lokalen Host 3443/Favoriten ausführen,
ist dies, wie Sie den Text der Post Nachricht hier verfassen.
Also, jedes Gericht, das Sie hinzufügen möchten, wird hier in diesem Format enthalten sein.
Nun, wenn Sie sie in diesem Format einschließen
und dann auf dieser Serverseite posten,
wird der Server im Gegenzug die aktualisierte Liste der Favoriten für Sie zurücksenden.
Wenn Sie also die aktualisierte Liste der Favoriten von der Serverseite erhalten,
werden Sie sehen, dass die Informationen des Benutzers bereits vorhanden
sind, aber beachten Sie, wie die Lieblingsgerichte in diesem Array von Dish Objekt-IDs gespeichert werden.
Also, der erste, den wir bereits in der vorherigen Operation hinzugefügt hatten.
Also die restlichen zwei,
wir haben gerade zur Liste unserer Favoriten hinzugefügt.
Also, diese beiden Objekt-IDs werden auch in
meinem Geschirr Array in meinem Favoriten-Dokument hier hinzugefügt.
Also, da gehst du. So sollen Sie
den Favoritenbeitrag auf dem Endpunkt so ausführen.
Nun, lassen Sie uns wieder eine get Operation auf
den Favoriten durchführen, nur um zu sehen, was die get Operation Funktionen für uns.
Wenn wir also die GET-Operation durchführen,
werden Sie sofort bemerken, dass
Sie im Dokument der Rückgabe-Favoriten die Informationen des Benutzers dort haben,
und dann unten unten hier
ist das Geschirr nichts anderes als eine Reihe von Json-Dokumenten, die
jeweils einem Gericht entsprechen.
Jetzt wird dies automatisch von der Mungo
bevölkern übernommen, die wir auf der Serverseite getan haben.
All diese Informationen sollten also automatisch serverseitig aufgefüllt werden.
So funktionieren Ihre Post-Operationen auf den beiden Endpunkten.
Lassen Sie mich Ihnen nun zeigen, wie Sie eine DELETE-Operation ausführen würden.
Jetzt, um ein bestimmtes Gericht zu löschen.
Lassen Sie mich also einen Löschvorgang auf einem bestimmten Endpunkt durchführen.
Also werden wir zu diesem Endpunkt zurückkehren,
und dann lassen Sie mich einfach eins davon kopieren,
und dann werde ich eines der Gerichte löschen.
Um also den Löschvorgang an einem
der Gerichte durchzuführen,
brauchen wir natürlich den Körper noch nicht
und wir brauchen den Inhalt hier nicht.
Alles, was wir tun müssen, ist eine Löschoperation auf diesem Endpunkt durchzuführen.
Also hier sehen Sie, dass ich localhost mache: 3443/favorites/ und dann die Dish-ID.
Und dann lassen Sie mich das posten.
Wenn ich also ein bestimmtes Gericht aus meiner Favoritenliste lösche,
bemerken Sie sofort, dass
meine aktualisierte Favoritenliste vom Server an die Clientseite zurückgesendet wird.
Sie haben also den Benutzer hier,
aber beachten Sie, dass ich im Geschirr Array nur zwei Gerichte habe.
Die, die ich gerade gelöscht habe, ist von dieser Liste der Gerichte verschwunden.
Also, wenn Sie jetzt ein GET durchführen,
wird Ihr Geschirr Array ständig zu Gerichten dort drin.
Nehmen wir nun an, ich führe ein DELETE für die Favoriten hier aus.
Also, wenn ich DELETE direkt am Favoritenendpunkt selbst durchführe,
dann ist es, alle meine Favoriten zu löschen und
auch mein Favoritendokument vollständig von der Serverseite zu löschen.
Lassen Sie mich also diesen Löschvorgang auf der Serverseite durchführen,
und dann wird es die Tatsache zurückgeben, dass es dieses bestimmte Dokument gelöscht hat,
also gibt es dieses Dokument trotzdem zurück.
Aber jetzt, wenn ich eine GET-Operation auf meiner Favoritenliste
durchführe, werde ich dort eine Null abrufen.
Das bedeutet, dass ich dieses Dokument nicht auf der Serverseite habe.
Das Favoriten-Dokument ist also vollständig verschwunden,
wenn ich die DELETE-Operation auf der lokalen Hostspalte drei von früher Schrägstrich Favoriten durchführe.
Wenn ich nun wieder ein neues Gericht zu meiner Favoritenliste hinzufüge,
wird mein Favoritendokument immer wieder eingerichtet.
Das ist vollkommen in Ordnung für uns, damit zu operieren.
Mit dieser Demonstration habe ich Ihnen
alle verschiedenen Operationen gezeigt, die Sie auf Ihrer Serverseite ausführen müssen.
Alle verschiedenen Vorgänge auf den verschiedenen Routenendpunkten
, die Sie serverseitig ausführen oder implementieren müssen.
Nun, da Sie
alle verschiedenen Operationen gesehen haben, die die Serverseite auf den Schrägstrich Favoriten unterstützen sollte,
und die Schrägstrich Favoriten,
Schrägstrich Gericht ID Endpunkte,
lassen Sie mich die drei Aufgaben auflisten, die Sie in dieser Zuweisung ausführen müssen.
Die erste Aufgabe besteht natürlich darin, das Lieblingsschema und -modell zu implementieren.
Dies werden Sie im Models-Ordner in einer Datei namens Favorit NodeJS implementieren.
Dort werden Sie das Favoritenschema implementieren.
Denken Sie daran, dass das Favoritenschema
den Verweis auf die Dokumentobjekt-ID des Benutzers
und ein Array von Gerichten Dokumentobjekt-IDs speichert.
Das ist der große Hinweis darauf, wie Sie
das Schema und das Modell für Ihre Favoriten entwerfen sollen.
Die zweite Aufgabe in Ihrer Zuweisung besteht darin, die GET-
, POST- und DELETE-Vorgänge auf dem Endpunkt der Schrägstriche zu implementieren.
GET wird Ihnen die Liste der Favoriten erhalten, die
automatisch von Mongos aufgefüllt werden,
der POST sollte eine Liste von Gerichten enthalten, wie
in dem Format angegeben, das ich Ihnen gerade im Körper der POST-Nachricht gezeigt habe.
Und so wird eine Reihe von Gerichten in Ihrer Liste der Favoriten hinzugefügt werden,
und DELETE-Operation auf dem Schrägstrich Favoriten Endpunkt wird
Ihr Favoriten-Dokument vollständig von der Serverseite löschen.
Wenn Sie nun eine POST-Operation auf Schrägstrich Lieblings Schrägstrich Dish ID durchführen,
dann wird das bestimmte Gericht in Ihre Liste der Favoriten hinzugefügt.
Wenn Ihr bevorzugtes Dokument nicht existiert,
müssen Sie offensichtlich dieses bevorzugte Dokument erstellen.
Das ist also auch Teil dieser POST-Operation.
Wenn Sie also irgendwann feststellen, dass das Lieblingsdokument nicht existiert,
müssen Sie zuerst das Lieblingsdokument erstellen und
dann dieses Gericht dem bevorzugten Dokument hinzufügen.
Das ist also ein wichtiger Punkt, der auch zu beachten ist.
Wenn Sie einen POST für den Endpunkt der Schrägstrickfavoriten ausführen und
das Favoritendokument nicht vorhanden ist,
müssen Sie ein bevorzugtes Dokument erstellen und dann die Gerichte zu Ihrem bevorzugten Dokument hinzufügen.
Wenn es bereits vorhanden ist,
aktualisieren Sie nur dieses Favoritendokument.
Dies ist also ein weiterer Hinweis darauf, wie Sie die POST-Operationen implementieren sollen.
Wenn Sie eine DELETE-Operation für den Schrägstrich Favoriten Schrägstrich Dish ID ausführen
, dann wird dieses spezielle Gericht aus der Liste der Favoriten gelöscht. Wenn Sie
nun die POST- und DELETE-Operationen durchführen,
sollten Sie sicherstellen, dass Sie keine Duplikate zur Dish-ID hinzufügen.
Bevor Sie also eine Dish Objekt-ID zur Liste der Gerichte hinzufügen,
überprüfen Sie immer, ob die Gericht ID bereits in der Liste der Gerichte vorhanden ist.
Nun können Sie hier die Array-IndexOf-Methode verwenden, um zu überprüfen,
ob eine Dokument-ID bereits in einem Array von Dokumenten vorhanden ist.
Das ist also ein weiterer großer Hinweis darauf, wie Sie diesen Teil implementieren werden.
Und die dritte Aufgabe ist natürlich,
den Lieblings-Router auf den Schrägstrich Favoriten Endpunkte durch Aktualisierung der Datei app.js zu mounten.
Der bevorzugte Router selbst wird im
Routenordner in der Datei favoriterouter.js implementiert.
Damit habe ich beschrieben, was Sie
in der vierten und letzten Aufgabe implementieren sollen.
Und ich hoffe, dass diese Aufgabe Ihnen helfen wird,
alles zu konsolidieren,
was Sie im Kurs gelernt haben, vom Entwurf des Express-Routers, über MongoDB und auch Mongos Schema und Modelle bis hin zur
Durchführung der entsprechenden Benutzerauthentifizierung.
Und wie ich bereits erwähnt habe,
erhält nur ein authentifizierter Benutzer Zugriff auf seine Favoritenliste.
Selbst der GET-Vorgang kann nur von
einem authentifizierten Benutzer auf dem Endpunkt der Schrägstrickfavoriten ausgeführt werden.
Und Sie würden nur die Favoriten für diesen bestimmten Benutzer abrufen.
Sie können nicht zulassen, dass ein anderer Benutzer auf die Favoriten eines anderen Benutzers zugreifen kann.
Das sagt Ihnen auch, wie Sie
die Authentifizierung auf den verschiedenen Routenendpunkten durchführen sollen.
Damit schließe ich die Beschreibung der Aufgaben im vierten Auftrag ab.
Viel Spaß beim Abschluss dieser Aufgabe.