如何在 FastApi 中隐藏输入参数?

Min*_*nas 4 python python-3.x fastapi

如何在OpenApi中隐藏请求参数?我想从 OpenApi UI 中隐藏 user_agent 。

我有一个简单的应用程序:

from typing import Optional
from fastapi import FastAPI, Header

app = FastAPI()
   
@app.get("/items/")
async def read_items(
       user_agent: Optional[str] = Header(None), 
       size: Optional[int] = Body(None)):
    return {"User-Agent": user_agent}
Run Code Online (Sandbox Code Playgroud)

ill*_*nan 5

FastAPI in version 0.73.0 (related PR) supports this functionality natively: https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi.

from typing import Optional

from fastapi import Body, FastAPI, Header

app = FastAPI()


@app.get("/items/")
async def read_items(
    user_agent: Optional[str] = Header(None, include_in_schema=False), 
    size: Optional[int] = Body(None)
):
    return {"User-Agent": user_agent}
Run Code Online (Sandbox Code Playgroud)

排除 User-Agent 标头