|
|
@ -58,6 +58,7 @@ class FastAPI(Starlette): |
|
|
|
version: str = "0.1.0", |
|
|
|
openapi_url: Optional[str] = "/openapi.json", |
|
|
|
openapi_tags: Optional[List[Dict[str, Any]]] = None, |
|
|
|
openapi_response_class: Type[JSONResponse] = JSONResponse, |
|
|
|
servers: Optional[List[Dict[str, Union[str, Any]]]] = None, |
|
|
|
dependencies: Optional[Sequence[Depends]] = None, |
|
|
|
default_response_class: Type[Response] = Default(JSONResponse), |
|
|
@ -100,6 +101,7 @@ class FastAPI(Starlette): |
|
|
|
self.license_info = license_info |
|
|
|
self.openapi_url = openapi_url |
|
|
|
self.openapi_tags = openapi_tags |
|
|
|
self.openapi_response_class = openapi_response_class |
|
|
|
self.root_path_in_servers = root_path_in_servers |
|
|
|
self.docs_url = docs_url |
|
|
|
self.redoc_url = redoc_url |
|
|
@ -228,7 +230,7 @@ class FastAPI(Starlette): |
|
|
|
if root_path and self.root_path_in_servers: |
|
|
|
self.servers.insert(0, {"url": root_path}) |
|
|
|
server_urls.add(root_path) |
|
|
|
return JSONResponse(self.openapi()) |
|
|
|
return self.openapi_response_class(self.openapi()) |
|
|
|
|
|
|
|
self.add_route(self.openapi_url, openapi, include_in_schema=False) |
|
|
|
if self.openapi_url and self.docs_url: |
|
|
|