我正在阅读有关路径参数验证的教程:https://fastapi.tiangolo.com/tutorial/path-params/。
我想允许字符串“a”、“B”和“c”作为可能的参数值。我想让这些值显示在OpenAPI文档(FastAPI automatic docs)中,这样API用户就不必猜测它们了。我如何才能让这些值显示在文档中?
下面是我的实现:
from fastapi import FastAPI, HTTPException
app = FastAPI()
parameters = ["a", "b", "c"]
@app.get("/endpoint/{parameter}")
def endpoint(parameter: str):
if parameter not in parameters:
raise HTTPException(status_code=400, detail="parameter must be a, b, or c")
return {"parameter": parameter}
2条答案
按热度按时间ni65a41a1#
使用
Enum
进行参数验证,允许的值将出现在文档站点中。vfwfrxfs2#
选项1
创建一个
Enum
类,如FastAPI文档中所述:选项2
使用
Literal
类型,该类型允许您指定参数只能接受特定的文本值: