Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >使用FastAPI框架快速构建高性能的api服务

使用FastAPI框架快速构建高性能的api服务

作者头像
TalkPython
发布于 2019-05-24 08:59:04
发布于 2019-05-24 08:59:04
8.5K00
代码可运行
举报
文章被收录于专栏:TalkPythonTalkPython
运行总次数:0
代码可运行

使用FastAPI可以非常快速的构建出一套高性能的api服务。下面通过实战演示一下:

fastapi目前仅支持python 3.6+以上版本。

一、安装fastapi和uvicorn
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install fastapi
pip install uvicorn
二、新建一个main.py文件,编写如下代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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}
三、运行接口服务

在命令行,执行下面的命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
uvicorn main:app --reload
四、请求接口

运行成功后在浏览器打开http://127.0.0.1:8000 ,你将在一个JSON格式响应结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{'hello':'world'}

再次在浏览器打开http://127.0.0.1:8000/items/5?q=somequery,你将在一个如下JSON格式响应结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{'item_id':5,'q':'somequery'}
五、可视化API文档

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

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

https://fastapi.tiangolo.com

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TalkPython 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
FastAPI 作为集大成者,它的灵感来自哪里?
人生苦短,我用 Python。 在看到 FastAPI 在首期「OSC 开源软件趋势榜」名列前茅,作为一个 Pythoner,顿时对它产生了浓厚的兴趣,于是立即开始了 FastAPI 体验之旅。
donghui
2020/04/22
2.2K0
FastAPI 作为集大成者,它的灵感来自哪里?
快速Mock接口数据的工具--FastApi
fastapi 官网介绍如下: FastAPI framework, high performance, easy to learn, fast to code, ready for production. FastAPI框架,高性能,易于学习,代码快速,可投入生产 安装 版本 python3.6+ pip install fastapi pip install uvicorn 快速上手案例 创建一个main.py文件 from fastapi import FastAPI app = FastAPI
胡八万
2022/05/16
1.2K0
快速Mock接口数据的工具--FastApi
分享 6 个实用的轮子
最近看到几个非常实用的 Python 库,它们太优秀了,让我忍不住分享,我相信在今后的编程之路上,你有很大的概率会使用它们,请先看一下,在大脑中先留下印象,方便以后拿来使用。
somenzz
2020/11/25
5080
分享 6 个实用的轮子
(入门篇)简析Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架
用官方的话来说,FastAPI 是一种现代,快速(高性能)的 Web 框架,基于标准Python 类型提示使用 Python 3.6+ 构建 API
用户7466307
2020/06/17
2.2K0
python web框架之FastApi
FastAPI是一种现代、快速的Python web框架,它提供了一组强大的工具和功能,使得构建RESTful APIs变得更加容易和快速。在本文中,我们将介绍FastAPI的主要特点和优势,以及如何使用它来构建高效的API。
疯狂的KK
2023/03/17
1.3K0
python web框架之FastApi
Python的哪个Web框架学习周期短,学习成本低?
很多人推荐Flask,老牌轻量级web框架,确实是初学者的首选。这几天我在Github上看到FastApi,觉得比Flask更轻量。
朱卫军 AI Python
2022/07/06
4370
Python的哪个Web框架学习周期短,学习成本低?
FastAPI学习-环境准备与基础入门
FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。
wencheng
2022/04/18
7380
FastAPI学习-环境准备与基础入门
【Python系列】FastAPI 与 Uvicorn:快速启动你的异步 Web 应用
在当今的软件开发领域,异步编程已经成为提高应用性能和响应速度的关键技术之一。FastAPI 和 Uvicorn 的组合正是为了满足这一需求而诞生的。FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 APIs,而 Uvicorn 是一个轻量级的 ASGI 服务器,用于运行异步 Web 应用。
kwan的解忧杂货铺
2024/11/26
5680
FastAPI是什么?
在 Python 的 Web 框架生态中,Django 和 Flask 一直是主流选择。然而,随着技术的发展,特别是在异步编程、自动文档生成和快速开发需求的推动下,FastAPI 作为一个新兴的 Python Web 框架脱颖而出。FastAPI 不仅以其高性能和易用性著称,还凭借其先进的设计理念为开发者提供了一种全新的 API 构建体验。
科技新语
2024/08/22
1910
FastAPI是什么?
FastAPI 构建 API 高性能的 web 框架(二)
参考:https://fastapi.tiangolo.com/zh/tutorial/body-multiple-params/
悟乙己
2023/08/10
5060
使用(Python)FastAPI快速构建你的后端接口服务
FastAPI是一个基于 Python 的后端框架,该框架鼓励使用 Pydantic 和 OpenAPI (以前称为 Swagger) 进行文档编制,使用 Docker 进行快速开发和部署以及基于 Starlette 框架进行的简单测试。
我被狗咬了
2020/03/19
9.4K0
fastapi 用户指南(路径参数、查询参数、请求体)
learn from https://fastapi.tiangolo.com/zh/tutorial/
Michael阿明
2022/01/07
1.9K0
fastapi 用户指南(路径参数、查询参数、请求体)
FastAPI官方教程太棒了(上)
在2020年的Python开发者调查结果中,有这样一段话:“FastAPI在此次调查迭代中首次被引为选项,表现为Python第三流行的Web框架。”
dongfanger
2022/06/30
4.3K0
FastAPI官方教程太棒了(上)
Python创建接口项目(FastAPI)及人脸识别
我们要实现一个人脸识别的功能,人脸识别的都是调用本地的图片,所以我们搭建一个接口服务来提供图片的上传。
码客说
2022/06/15
1.8K0
FastAPI--快速入门(1)
注意事项,因为FastAPI仅支持Python3.6+的API,所以需要再Python3.6+的环境进行学习实践!
py3study
2020/06/22
1.7K0
FastAPI--快速入门(1)
小白学FastAPI 正式开写了!
本系列文章的目的就是能够通俗易懂的讲述FastAPI这个框架,让每个人学习这门框架都没有什么门槛。
Python进击者
2022/03/14
1.4K0
小白学FastAPI 正式开写了!
fastapi 安全性 / APIRouter / BackgroundTasks / 元数据 / 测试调试
learn from https://fastapi.tiangolo.com/zh/tutorial/security/first-steps/
Michael阿明
2022/01/07
1.3K0
fastapi 安全性 / APIRouter / BackgroundTasks / 元数据 / 测试调试
FastAPI-API文档和自动化测试(一)
FastAPI 的一个重要特性是自动生成 API 文档和测试代码。在本文中,我们将讨论 FastAPI 如何自动生成 API 文档和测试代码,以及如何使用 Swagger UI 和 ReDoc 来查看生成的文档。
堕落飞鸟
2023/05/07
1.2K0
ASGI Servers库详解
ASGI(Asynchronous Server Gateway Interface)是一种Python异步服务器网关接口,用于构建异步Web应用程序,类似于WSGI(Web服务器网关接口)但支持异步代码。ASGI服务器库用于实现ASGI协议,其中包括常用的框架,如FastAPI、Starlette等。在这个教程中,我将向你展示如何使用ASGI服务器库来构建一个简单的异步Web应用程序。
Michel_Rolle
2024/02/10
2.6K0
最近HelloGitHub 上有趣的Python开源项目
一个基于 Python 开发的在线文档系统。支持 Markdown 语法、文集分类、科学公式、流程图、思维导图等内容。清爽的阅读界面,还可以把内容打包导出为 Markdown 文件、EPUB 文件、PDF 文件。适合作为个人和小型团队的私有文档服务
胡八万
2022/05/16
4090
最近HelloGitHub 上有趣的Python开源项目
相关推荐
FastAPI 作为集大成者,它的灵感来自哪里?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档