一、概述
在路徑操作配置中顯然都是針對API的配置,比如API分類的tags參數等,那么針對FastAPI的應用的配置是如何的呢?常用的包含:
- title & description & version
- docs_url
...
當然還有很多參數,具體查看源碼:
class FastAPI(Starlette): def __init__( self, *, debug: bool = False, routes: Optional[List[BaseRoute]] = None, title: str = "FastAPI", description: str = "", version: str = "0.1.0", openapi_url: Optional[str] = "/openapi.json", openapi_tags: Optional[List[Dict[str, Any]]] = None, servers: Optional[List[Dict[str, Union[str, Any]]]] = None, dependencies: Optional[Sequence[Depends]] = None, default_response_class: Type[Response] = Default(JSONResponse), docs_url: Optional[str] = "/docs", redoc_url: Optional[str] = "/redoc", swagger_ui_oauth2_redirect_url: Optional[str] = "/docs/oauth2-redirect", swagger_ui_init_oauth: Optional[Dict[str, Any]] = None, middleware: Optional[Sequence[Middleware]] = None, exception_handlers: Optional[ Dict[ Union[int, Type[Exception]], Callable[[Request, Any], Coroutine[Any, Any, Response]], ] ] = None, on_startup: Optional[Sequence[Callable[[], Any]]] = None, on_shutdown: Optional[Sequence[Callable[[], Any]]] = None, openapi_prefix: str = "", root_path: str = "", root_path_in_servers: bool = True, responses: Optional[Dict[Union[int, str], Dict[str, Any]]] = None, callbacks: Optional[List[BaseRoute]] = None, deprecated: Optional[bool] = None, include_in_schema: bool = True, **extra: Any, ) ...
二、常見參數說明
在進行參數說明之前,先看一下未加任何參數的代碼:
from fastapi import FastAPI app = FastAPI() @app.get("items") async def read_items(): return {"info": "read_items"}
表現形式:
1、title & description & version
from fastapi import FastAPI app = FastAPI( title="FastAPI Docs Test", description="FastAPI Application Params Test", version="1.1.1" ) ...
表現形式:
2、docs_url
from fastapi import FastAPI app = FastAPI( title="FastAPI Docs Test", description="FastAPI Application Params Test", version="1.1.1", docs_url="/docs" )
docs是交互文檔的地址,可以自定義。還有很多其它的參數可使用,比如openapi_url、redoc_url等等。