‫-: Es empfiehlt sich, einen Slash-Me-Endpunkt in einer beliebigen API
‫zu implementieren.
‫Im Grunde also ein Endpunkt, an dem ein Benutzer seine
‫eigenen Daten abrufen kann, in Ordnung?
‫Also lassen Sie uns das jetzt ganz schnell umsetzen.
‫Im Grunde wird es also etwas sein,
‫das diesen Updateme- und Deleteme-Endpunkten sehr ähnlich ist, die wir
‫bereits haben, oder?
‫Also, fügen wir Exportpunkt-Getme hinzu, in Ordnung?
‫Nun, wir wollen eigentlich immer
‫noch die getOne-Factory-Funktion verwenden, also im Grunde, äh, diese
‫hier, richtig?
‫Denn sonst wäre es
‫sehr, sehr ähnlicher Code wie dieser.
‫Das einzige Problem dabei ist nun, dass getOne
‫grundsätzlich die vom Parameter stammende ID verwendet, um das angeforderte
‫Dokument zu erhalten.
‫Aber was wir jetzt tun möchten, ist, das Dokument grundsätzlich
‫auf der Grundlage der aktuellen
‫Benutzer-ID zu erhalten, also die ID des derzeit angemeldeten Benutzers, okay?
‫Auf diese Weise müssen wir keine ID als
‫URL-Parameter übergeben, oder?
‫Also, wie können wir das tun? Nun, ganz einfach.
‫Alles, was wir hier tun werden, ist eine sehr einfache
‫Middleware, die so funktionieren wird.
‫Also wie immer Request, Response, Next, und dann
‫sagen wir nur request, dot params, dot ID,
‫die sich daran erinnern, was getOne
‫verwenden wird, und
‫sagen ihr gleich Request dot user dot ICH WÜRDE.
‫Und das ist es!
‫Gut?
‫Also fügen wir diese Middleware hier hinzu,
‫bevor wir getOne aufrufen.
‫Lassen Sie uns das also so implementieren, dass Benutzerrouten verwendet werden, und ich
‫werde es gleich hier hinzufügen.
‫Also Router dot get Slash me, und jetzt müssen
‫wir natürlich eingeloggt sein.
‫Also schützen, und dies fügt dann den
‫Benutzer der aktuellen Anfrage hinzu, die Sie bereits kennen,
‫und ermöglicht uns dann, die ID dieses Benutzers zu lesen, oder?
‫Dann besteht der nächste Schritt darin, diese Benutzer-ID im Grunde in die
‫Params-Punkt-ID einzugeben. Okay?
‫Also im Grunde vorgetäuscht, dass die ID tatsächlich von
‫der URL kommt.
‫Also, Benutzer-Controller, äh, Punkt
‫getme, und dann schließlich Benutzer-Controller getuser.
‫Okay? Sinn ergeben?
‫Lassen Sie uns das jetzt sehr schnell
‫testen, und so wird es ein bisschen ähnlich sein.
‫Aber dann schlitz mich auf.
‫Natürlich brauchen wir eine Genehmigung. Okay?
‫Und ich speichere dies auch in den
‫Benutzern und um aktuelle Benutzer zu erhalten.
‫Nun gut? Lassen Sie uns diese Namen
‫hinzufügen, weil sie anders aussehen, also haben sie diese Daten aus irgendeinem
‫Grund hier.
‫Okay, das tut es nicht, aber hier ist es immer noch falsch.
‫Gut? Zur Sicherheit melden wir
‫uns jetzt als dieser Administrator an. Gut?
‫Holen Sie sich jetzt die Daten zu diesem aktuellen Benutzer.
‫Also nichts im Body, nichts in der
‫URL, aber wir bekommen trotzdem die Daten über uns selbst.
‫Also Name, E-Mail, Rolle und wirklich alle Daten, die es
‫über diesen Benutzer gibt. Schön.
‫Sie haben also wieder die große Macht der Middleware gesehen.
‫Wo es so einfach war, diese getme-Middleware einfach
‫zu implementieren, damit wir dann unseren einfachen
‫getuser verwenden können.
‫Also, das kommt aus der Werksfunktion, oder?
‫Okay. Das war's.
‫Das war alles, was wir für diese kleine Aufgabe tun mussten.