文章目录
- 1 导入FastAPI
- 2 创建一个FastAPI实例
- 3 创建一个路由和视图函数
- 4 启动服务器
- 5 测试
1 导入FastAPI
FastAPI 是fastapi这个包提供的一个所有功能的Python类,因此需要首先导入
from fastapi import FastAPI
2 创建一个FastAPI实例
这里就是利用导入的FastAPI类创建一个实例,就是非常普通的面向对象思想中的类的实例化,实例的名字为app,这个app只是我们这里定义的,可以叫任何名字。只需要和最后面执行启动服务器命令一致就好了,比如这里实例名为app,则在后面步骤中启动服务器使用的命令时 uvicorn main:app --reload,倘若修改其他名字比如FastAPI实例的名字叫demo,则对应的启动服务器的命令为 uvicorn main:demo --reload即可
app = FastAPI()
3 创建一个路由和视图函数
这里的路由就是只是http协议的接口链接,比如URL为 http:127.0.0.1:8000/ 的接口,则其路由则为 “/”,http:127.0.0.1:8000/user/login 的路由则为 “user/login”,路由通过python的装饰器函数指定,如下则指定的路由为 “/”,helloworld函数则为对应的此路由的视图函数,亦即当用户调用 http:127.0.0.1:8000/ 接口shi时,自动执行helloworld函数,helloworld函数就是一个普通的函数,在这里即返回一个字典数据。
@app.get("/")
def helloworld():
return {"Hello":"World"}
http协议最常用的是方法是post、get、put、delete,此外还有用的比较少的opitions、head、patch、trace方法,因此在使用装饰器指定路由的时候对应的使用如下几个:
- @app.post()
- @app.get()
- @app.put()
- @app.delete()
以及如下几个不太常用的方法 - @app.options()
- @app.head()
- @app.patch()
- @app.trace()
4 启动服务器
将上述代码组装在一个main.py文件中记得到了完整的最简单的应用,代码如下:
from fastapi import FastAPI
app=FastAPI()
@app.get("/")
def helloworld():
return {"Hello":"World"}
因为这里面定义的FastAPI实例的名称为app,因此启动的命令如下,这里通过–port修改默认端口,默认端口为8000,因为本机已经被其他程序占用,因此修改为8080
uvicorn main:app --reload --port 8080
5 测试
FastAPI自带swagger接口调试文档,因此这里可以直接打开swagger页面 http://127.0.0.1:8080/docs ,然后即可调试了,如下: