mirror of
https://github.com/fastapi/fastapi.git
synced 2025-12-30 17:50:39 -05:00
* Use ASGI root_path when it is provided and openapi_prefix is empty. * Strip trailing slashes from root_path. * Please mypy. * Fix extending openapi test. * 📝 Add docs and tutorial for using root_path behind a proxy * ♻️ Refactor application root_path logic, use root_path, deprecate openapi_prefix * ✅ Add tests for Behind a Proxy with root_path * ♻️ Refactor test * 📝 Update/add docs for Sub-applications and Behind a Proxy * 📝 Update Extending OpenAPI with openapi_prefix parameter * ✅ Add test for deprecated openapi_prefix Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
30 lines
715 B
Python
30 lines
715 B
Python
from fastapi import FastAPI
|
|
from fastapi.openapi.utils import get_openapi
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
@app.get("/items/")
|
|
async def read_items():
|
|
return [{"name": "Foo"}]
|
|
|
|
|
|
def custom_openapi(openapi_prefix: str):
|
|
if app.openapi_schema:
|
|
return app.openapi_schema
|
|
openapi_schema = get_openapi(
|
|
title="Custom title",
|
|
version="2.5.0",
|
|
description="This is a very custom OpenAPI schema",
|
|
routes=app.routes,
|
|
openapi_prefix=openapi_prefix,
|
|
)
|
|
openapi_schema["info"]["x-logo"] = {
|
|
"url": "https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png"
|
|
}
|
|
app.openapi_schema = openapi_schema
|
|
return app.openapi_schema
|
|
|
|
|
|
app.openapi = custom_openapi
|