文章目录

  • 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 ,然后即可调试了,如下:

python 安装fastapi python fastapi教程_启动服务