这一部分讲解如何配置 FastAPI 的 API 文档,包括全局信息、请求和响应参数说明及接口描述。启动 uvicorn 服务之后,可以:
- 通过 http://127.0.0.1:8000/docs 访问交互式文档
- 通过 http://127.0.0.1:8000/redoc 访问另外一种形式的文档
from fastapi import FastAPI
from fastapi import Query
from fastapi import Path
from pydantic import BaseModel
from pydantic import Field
import uvicorn
# 1. 定义全局文档信息
license_info={'name': 'Apache 2.0', 'url': 'https://www.apache.org/licenses/LICENSE-2.0.html'}
contact = {'name': 'Edward Meng', 'url': '', 'email': 'chinapp@foxmail.com'}
terms_of_service = 'http://example.com/terms/'
app = FastAPI(title='接口文档',
description='该接口提供了丰富的 LLM 访问接口.',
version='1.0.0',
redoc_url='/docs1',
docs_url='/docs2',
terms_of_service=terms_of_service,
license_info=license_info,
contact=contact)
# 2. 定义请求和响应参数文档信息
class MyRequest(BaseModel):
name : str = Field(title='姓名', description='输入者的姓名')
age : int = Field(title='年龄', description='输入者的年龄')
class MyResponse(BaseModel):
grade: int = Field(title='等级', description='返回等级')
score: int = Field(title='分数', description='返回分数')
# 3. 定义具体 api 文档信息
@app.post('/demo',
summary='示例接口',
description='我是对示例接口的描述',
response_description='我是对接口返回值的描述',
response_model=MyResponse)
async def demo(request : MyRequest):
return {'grade': 1001, 'score': 85}
if __name__ == '__main__':
uvicorn.run(app, host='127.0.0.1', port=8000)



冀公网安备13050302001966号