Aber FastAPI (eigentlich Starlette) bietet eine einfachere Möglichkeit, welche sicherstellt, dass die internen Middlewares zur Behandlung von Serverfehlern und benutzerdefinierten Exceptionhandlern ordnungsgemäß funktionieren.
Dazu verwenden Sie app.add_middleware() (wie schon im Beispiel für CORS gesehen).
app.add_middleware() empfängt eine Middleware-Klasse als erstes Argument und dann alle weiteren Argumente, die an die Middleware übergeben werden sollen.
FastAPI enthält mehrere Middlewares für gängige Anwendungsfälle. Wir werden als Nächstes sehen, wie man sie verwendet.
Technische Details
Für die nächsten Beispiele könnten Sie auch from starlette.middleware.something import SomethingMiddleware verwenden.
FastAPI bietet mehrere Middlewares via fastapi.middleware an, als Annehmlichkeit für Sie, den Entwickler. Die meisten verfügbaren Middlewares kommen aber direkt von Starlette.
allowed_hosts – Eine Liste von Domain-Namen, die als Hostnamen zulässig sein sollten. Wildcard-Domains wie *.example.com werden unterstützt, um Subdomains zu matchen. Um jeden Hostnamen zu erlauben, verwenden Sie entweder allowed_hosts=["*"] oder lassen Sie diese Middleware weg.
Wenn ein eingehender Request nicht korrekt validiert wird, wird eine „400“-Response gesendet.