FastAPI 生成自动 swagger/openapi 文档。
在https://fastapi.tiangolo.com/tutorial/response-status-code的教程中有一个例子
from fastapi import FastAPI
app = FastAPI()
@app.post("/items/", status_code=201)
async def create_item(name: str):
return {"name": name}
Run Code Online (Sandbox Code Playgroud)
如果你运行它,.../docs 页面会显示两个 http 响应选项:
成功的状态代码 201 和验证错误的状态代码 422
我想在文档中记录更多的响应状态代码描述,例如代码 403,“禁止”
虽然我可以在代码中运行这样的异常
raise HTTPException(status_code=403, detail="Forbidden")
Run Code Online (Sandbox Code Playgroud)
我还没有找到在自动生成的文档中描述它们的方法。
知道怎么做吗?
这能解决您的问题吗?
https://fastapi.tiangolo.com/advanced/additional-responses/
编辑
使用响应模型,您可以添加 API 可能返回的不同响应。
from pydantic import BaseModel
# Define your models here like
class model200(BaseModel):
message: str = ""
@api.get("/my-route/", responses={200: {"response": model200}, 404: {"response": model404}, 500: {"response": model500}})
async def api_route():
return "I'm a wonderful route"
Run Code Online (Sandbox Code Playgroud)
这将提供您的响应模型的示例,使用户更容易与 api 交互
| 归档时间: |
|
| 查看次数: |
1693 次 |
| 最近记录: |