前言
在这里,我假设大家已经有了一定的基础,假设你没有基础.
那么我们学习fastapi,先学习什么呢?
肯定是先学习fastapi的基础.
安装fastapi
首先, 我们安装国产化的fastapi版本:
pip install fastapi3
如果你更喜欢英文的界面, 也可以安装:
pip install fastapi
需要注意的是, fastapi3仅支持python3.12以上的版本.
这里我更推荐使用fastapi3, 因为他是专门针对国内用户做了二次开发的版本, 多国内用户更加的友好.
fastapi和fastapi3在使用上并没有太大的区别, 大家可以任意使用.
第一个fastapi程序
接下来, 我们来编写第一个fastapi程序, fastapi的开发相对于Django而言, 会更加的简单, 只需要一个main.py文件就可以执行.
我们新建一个main.py, 写下下面的代码.
from fastapi3 import FastAPIapp = FastAPI()@app.get("/")
async def root():return {"msg": "你好, fastapi3"}
首先, 我们导入FastAPI对象.
from fastapi3 import FastAPI
接着我们利用这个对象创建一个app的应用实例.
一个app可以理解为一个后端项目, 在这个app下面可以挂载各种各样的路由, 方法, 接口等等, 这个后面会讲到.
app = FastAPI()
紧接着, 我们声明了一个接口, 这个接口的请求方法是 GET 类型, 请求路径是 “/”.
@app.get("/")
然后我们定义了一个异步方法, 这个方法的返回值就是接口的返回值.
async def root():return {"msg": "你好, fastapi3"}
这里我们返回的是一个字典, 但是fastapi会帮我们把这个字段转换为json类型的数据.
启动后端服务
启动服务我们可以使用uvicorn3, 安装方法如下:
pip install uvicorn3
接着, 我们修改一下 main.py , 加入启动程序的代码.
from fastapi3 import FastAPIapp = FastAPI()@app.get("/")
async def root():return {"msg": "你好, fastapi3"}if __name__ == '__main__':import uvicorn3uvicorn3.run(app, host='0.0.0.0', port=8000)
此时我的项目结构如下:
启动后控制台输出如下:
自动生成的接口文档
fastapi3会自动帮我们生成一个接口文档, 这个接口文档的地址是:
http://localhost:8000/docs
通过接口文档, 我们可以测试我们的接口.
使用fastapi3开发, 比较好的地方就是可以不使用客户端工具, 它会自动帮我们生成这个接口文档, 我们通过接口文档, 可以实现比较轻松的测试.
总结
现在,我们已经学会了用fastapi3开发第一个接口程序,
整体流程算是被我们跑通了, 不过真正的项目开发, 远不止这么简单, 我们还任重而道远, 我们还需要继续学习.
接下来我们学习一下fastapi3是是如何处理请求和响应的.