Da FastAPI unter der Haube eigentlich Starlette ist, mit einer Ebene von mehreren Tools darüber, können Sie Starlette's Request-Objekt direkt verwenden, wenn Sie es benötigen.
Das bedeutet allerdings auch, dass, wenn Sie Daten direkt vom Request-Objekt nehmen (z. B. dessen Body lesen), diese von FastAPI nicht validiert, konvertiert oder dokumentiert werden (mit OpenAPI, für die automatische API-Benutzeroberfläche).
Obwohl jeder andere normal deklarierte Parameter (z. B. der Body, mit einem Pydantic-Modell) dennoch validiert, konvertiert, annotiert, usw. werden würde.
Es gibt jedoch bestimmte Fälle, in denen es nützlich ist, auf das Request-Objekt zuzugreifen.
Durch die Deklaration eines Pfadoperation-Funktionsparameters, dessen Typ der Request ist, weiß FastAPI, dass es den Request diesem Parameter übergeben soll.
Tipp
Beachten Sie, dass wir in diesem Fall einen Pfad-Parameter zusätzlich zum Request-Parameter deklarieren.
Der Pfad-Parameter wird also extrahiert, validiert, in den spezifizierten Typ konvertiert und mit OpenAPI annotiert.
Auf die gleiche Weise können Sie wie gewohnt jeden anderen Parameter deklarieren und zusätzlich auch den Request erhalten.