首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

测试开发框架 FastAPI 快速入门

FastAPI 入门使用非常简单。本篇主要介绍安装、服务启动、路由配置、数据响应、文档生成等基础用法。

安装

你可以直接通过 pip install fastapi[all] 安装所有必要的组件。

也可以单独一个一个安装:

pip install fastapi

pip install uvicorn

在这个里面,uvicorn 是一个 Web 服务器,负责把用户的请求发给 fastapi 程序。fastapi 框架本身是不带服务器的。

启动服务

通过 uvicorn 命令行 uvicorn 脚本名:app对象 启动服务:

uvicorn demo_01_quickstart:app

reload 参数方便调试加上 --reload 参数。

当使用 reload 参数以后,当你的程序有任何改动,服务器会自动重启,不需要手动重启服务器,调试会更加方便。

除了通过命令行方式启动,你也可以通过 python 程序运行服务器:

from fastapi import FastAPI

import uvicorn

app = FastAPI()

if __name__ == '__main__':

  uvicorn.run(app)

这种情况要使用 reload 则需要这样运行:

uvicorn.run('module:app', reload=True)

第一个参数要以字符串形式传递,否则会报错。

配置路由

fastapi 的用法深受 flask 的影响,对于绑定路由采用的通常是装饰器的形式。

@app.get('/')

def index():

  return "hello"

当在客户端访问 '/' 网址时,fastapi 会自动调用 index 函数,返回 "hello" 这个字符串。

2,如果想对同一个路由设置多个请求方式,可以通过 app.api_route() 设置。

@app.api_route('/', methods=['GET', 'POST'])

def index():

  return "hello"

3, 当然也可以像 django 那样采用集中注册

def index():

  return "hello"

app.add_api_route('/', index, methods=['POST'])

返回 JSON 格式数据

如果需要返回 JSON 格式的数据特别简单,只需要在试图函数后面返回对应的 python 数据类型就可以了。

@app.get('/')

def index():

  return {"msg": "Welcome", "data": "user"}

得到 JSON 数据:

返回列表:

@app.get('/')

def index():

  return ['user1', 'user2', 'user3']

得到的结果:

查看文档

只要是编写了路由,都可以通过访问 /docs 和 /redoc 获取到文档。

/docs 是基于 swagger ui,类似于这样:

可以点击 Try it out 测试该接口,速度非常快。

/redoc 的文档看起来回更漂亮一点。值得一提的是,视图函数当中 docstring 可以直接在文档中显示出来。

本文作者:柠檬班软件测试(lemonban)——专注于最新最前沿的软件测试技术,解决你的测试技术烦恼,对软件测试感兴趣的朋友赶快关注我们吧!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201012A09DZF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券