欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【python 算法接口】使用FastAPI框架快速构建高性能的api服务

程序员文章站 2022-06-06 08:13:42
...

【python 算法接口】使用FastAPI框架快速构建高性能的api服务

一、FastAPI 干啥的?
FastAPI 是用来构建 API 服务的一个高性能框架。

二、为什么选择 FastAPI ?

FastAPI 是一个现代、高性能 web 框架,用于构建 APIs,基于 Python 3.6 及以上版本。
最大特点:快!性能极高,可与 NodeJS, Go 媲美。
基于 Starlette 和 Pydantic,是 FastAPI 如此高性能的重要原因。
还具备代码复用性高,容易上手,健壮性强的优点。
个人还觉得,FastAPI 还有一个非常强的优势:方便的 API 调试,生成 API 文档,直接能够做到调试自己构建的 API,这在实际应用中,价值凸显。
FastAPI 这么强悍,有必要研究和使用,因为无论做开发,还是做算法,API 服务真的太重要,太重要,尤其是大厂,离不开 API 接口。

三、安装包

要求 python3.6版本及以上

pip install fastapi
pip install uvicorn
pip install hypercorn

四、快速开始一个get请求的demo

定义一个python文件,命名为 main.py

# -*- coding: utf-8 -*-
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}


@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

运行服务:

uvicorn main:app --reload

指定7000端口

uvicorn main:app --port 7000 --reload

或者

hypercorn main:app --bind 0.0.0.0:80

该命令uvicorn main:app指的是:
main:文件main.py(Python“模块”)。
app:main.py在线内创建的对象app = FastAPI()。
–reload:更改代码后使服务器重新启动。仅这样做是为了发展。
默认开启端口是8000.

五、验证服务是否开启
访问网址:
http://127.0.0.1:8000/

{"Hello":"World"}

访问网址:
http://127.0.0.1:8000/items/5?q=赖德发

{"item_id":5,"q":"赖德发"}

您已经创建了一个API:

接收的HTTP请求的路径 /和/items/{item_id}。
这两个路径都采用GET 操作(也称为HTTP 方法)。
该路径 /items/{item_id}的path参数 item_id应为int。
该路径 /items/{item_id}具有可选的str 查询参数 q。

六、现在看看 是否有可视化API文档

现在在浏览器中打开http://127.0.0.1:8000/docs,你会看到一个可以交互的api文档

你可以在这个可视化的接口页面,完成接口的测试。在浏览器打开http://127.0.0.1:8000/redoc,将会看到另外一种风格接口文档页面。更多关于fastapi的内容,请查看下面的网站。

相关标签: 数据科学--python