1.1FastAPI是什么?

FastAPI是一个现代的,快速(高性能)python web框架。基于标准的python类型提示,使用python3.6+构建API的Web框架。

FastAPI的主要特点如下:

  • 快速:非常高的性能,与NodeJS和Go相当(这个要感谢Starlette和Pydantic),是最快的Python框架之一。

  • 快速编码:将开发速度提高约200%到300%。

  • 更少的bug:减少大约40%的开发人员人为引起的错误。

  • 直观:强大的编辑器支持,调试时间更短。

  • 简单:易于使用和学习。减少阅读文档的时间。

  • 代码简洁:尽量减少代码重复。每个参数可以声明多个功能,减少程序的bug。

  • 健壮:生产代码会自动生成交互式文档。

  • 基于标准:基于并完全兼容API的开放标准:OpenAPI和JSON模式。

1.2环境准备

  • 安装fastapi

pip install fastapi

  • 对于生产环境,还需要一个ASGI服务器,如Uvicorn或Hypercorn

pip install "uvicorn[standard]"

1.3入门示例程序

新建一个main.py,编写如下程序:

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
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [28720]
INFO:     Started server process [28722]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

命令 uvicorn main:app:

  • main:文件main.py(Python的“模块”)。

  • app:在main.py中app=FastAPI()行中创建的对象。

  • --reload:在代码更改后重新启动服务器。

在命令提示符下执行如下命令来检查程序返回结果:(我们使用curl作为请求工具)

C:\Users\Administrator>curl http://127.0.0.1:8000
{"Hello":"World"}
C:\Users\Administrator>curl http://127.0.0.1:8000/items/1
{"item_id":1,"q":null}
C:\Users\Administrator>curl http://127.0.0.1:8000/items/1?q=hello
{"item_id":1,"q":"hello"}

使用异步(async/await)实现同样的功能,定义方法时使用 async def:

from fastapi import FastAPI
​
app = FastAPI()
​
@app.get("/")
async def read_root():    return {"Hello": "World"}
​
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):    return {"item_id": item_id, "q": q}

1.FastAPI简介相关推荐

  1. FastAPI简介与快速体验

    [原文链接]FastAPI简介与快速体验 文章目录 一.FastAPI简介 二.FastAPI的特点 三.安装 3.1 安装 fastapi 3.2 安装 ASGI 服务器 四.FastAPI快速体验 ...

  2. 用了fastapi还需要nginx_专门为API接口开发出现,FastAPI零门槛学习

    大概在10年前第一次接触Python的Web开发框架Django之后,第一次觉得原来开发Web程序这么简单,只需要做一些很简单的设计就可以启动一个项目了,在那之前,我还短暂用过JAVA的SSH框架套装 ...

  3. FastAPI ------框架基础

    FastAPI 一.初知FastAPI 1.1 FastAPI简介 1.2 安装FastAPI 1.2.1 虚拟环境安装 1.2.2 pip安装FastAPI 1.3 可能出现的问题 Error: [ ...

  4. 最快的Pythonweb框架之一:FastAPI 初探

    最快的Pythonweb框架之一:FastAPI 初探 希望和大家一起来学习FastAPI 异步 web框架,记录一下,当做笔记. 文档资源: 官网:https://fastapi.tiangolo. ...

  5. python: 网络编程及fastapi快速搭建web服务器

    一.网络编程 1.网络编程三要素 ip地址.端口.TCP协议 ip地址 ip地址作用: 根据ip地址能够找到网络中的具体设备(电脑,打印机) ip地址概念: ip地址是网络设备的唯一标识 ip地址分类 ...

  6. FastAPI异步 web 框架简介+搭配loguru实现日志服务(转载+补充)

    这次我们来聊一聊 FastAPI,它和我们之前介绍的 Sanic 是类似的,都是 Python 中的异步 web 框架.相比 Sanic,FastAPI 更加的成熟.社区也更加的活跃,那么 FastA ...

  7. Python-web框架 fastapi

    目录 简介 性能 api 文档 类型检查 蓝图APIRouter 自定义的tags与responses 注册 APIRouter 简介 官网教程(中文版):FastAPI python语言下的Web框 ...

  8. FastAPI 教程翻译 - 用户指南 26 - 安全性

    FastAPI 教程翻译 - 用户指南 26 - 安全性 FastAPI Tutorial - User Guide - Secuity Security Intro 安全性简介 There are ...

  9. FastAPI简单入门

    FastAPI简单入门 简介 FastAPI 是一个用于构建 API 的现代.快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示. 关键特性: 快速:可 ...

最新文章

  1. ensp启动设备蓝屏_为什么早期的Windows经常死机蓝屏,现在却很少发生?这些你都知道吗?...
  2. MySQL查询出2门及2门以上不及格者的平均成绩
  3. python27文件夹_为什么python27.dll不是python安装文件夹的一部分,而是在Windows系统文件夹中...
  4. 计算机基础知识题库选择题,计算机基础知识篇选择题库
  5. 使用dict和set
  6. 如何在 Asp.Net Core 中对请求进行限流
  7. 图片横向滚动,两边有按钮控制
  8. python初学者怎么入门-python初学者怎么入门
  9. 【图像配准】基于matlab GUI光流场模型图像配准【含Matlab源码 831期】
  10. matlab单元刚度矩阵,求助:关于有限元三角形单元合成总刚度矩阵怎么处理
  11. 为什么acdsee服务器怎在运行,如何使用ACDSEE
  12. 微信小程序-蓝牙设备连接-蓝牙开门
  13. Android在GoogleMap(百度地图)实现自定义指南针旋转与回正功能
  14. EMI、EMS和EMC的区别
  15. 简单分析大量京东快递揽收后没有物流的单号
  16. ubuntu18.04安装MPV视频播放器
  17. 医疗行业容灾备份解决方案
  18. 多对多业务,数据库水平切分架构一次搞定(58沈剑)
  19. TortoiseSvn介绍
  20. 在AutoCAD2015如何设置栅格的显示与设置

热门文章

  1. 美国计算机学教授薪酬,揭秘:美国大学教授薪酬待遇如何?
  2. 小觅双目摄像头标准彩色版发布 为移动机器人视觉导航避障优化设计
  3. 922175-70-0,Galacto-RGD,RGDfK(SAA),νβ3表达成像示踪剂
  4. Android通信安全之HTTPS
  5. 白话数据、数据项、数据元素和数据对象的概念和联系。
  6. 达梦数据库SQL学习
  7. [关键字]volatile
  8. 强推:raw图片处理软件DxO PhotoLab
  9. Markdown使用学习笔记(第一次,拉的很,别骂了,别骂了)
  10. 俄罗斯联邦储蓄银行将采取措施绕开本国加密货币监管