I'm trying to hide the entire schemas section of the FastAPI generated swagger docs. I've checked the docs and tried this but the schema section still shows.
@Schema(hidden=True)
class theSchema(BaseModel):
category: str
How do I omit one particular schema or the entire schemas section from the returned swagger docs.
docExpansion does not appear to work either. What am I missing?
app = FastAPI(
openapi_tags=tags_metadata,
title="Documentation",
description="API endpoints",
version="0.1",
docExpansion="None"
)
swagger has the UI parameter "defaultModelsExpandDepth" for controlling models' view in the schema section.
This parameter can be forwarded using "swagger_ui_parameters" parameter on FastApi initialization.
app = FastAPI(swagger_ui_parameters={"defaultModelsExpandDepth": -1})
Values:
More options can be found here: https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/
set include_in_schema=False in the args to the FastAPI instance decorator instead
app = FastAPI(...)
@app.get("/", include_in_schema=False)
async def root():
...
Not sure if I get points for answering my own question but if anyone wants to know, this was resolved by loading the swagger page into an iframe then using js to hide the desired elements within that document's iframe.