专栏首页python3FastAPI--快速入门(1)

FastAPI--快速入门(1)

一、简介

FastAPI 是一个高性能 Web 框架,用于构建 API。

主要特性:

  • 快速:非常高的性能,与 NodeJS 和 Go 相当
  • 快速编码:将功能开发速度提高约 200% 至 300%
  • 更少的错误:减少约 40% 的人为错误
  • 直观:强大的编辑器支持,自动补全无处不在,调试时间更少
  • 简易:旨在易于使用和学习,减少阅读文档的时间。
  • 简短:减少代码重复。
  • 稳健:获取可用于生产环境的代码,具有自动交互式文档
  • 基于标准:基于并完全兼容 API 的开放标准 OpenAPI 和 JSON Schema

官方链接:https://fastapi.tiangolo.com/

二、第一个Hello World

注意事项,因为FastAPI仅支持Python3.6+的API,所以需要再Python3.6+的环境进行学习实践!

安装依赖

FastAPI - 是一个现代的,快速(高性能)python web框架

pip3 install fastapi

uvicorn - 主要用于加载和提供应用程序的服务器.

pip3 install uvicorn

Hello World

main.py

import uvicorn
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello World"}

if __name__ == '__main__':
    uvicorn.run(app='main:app', host="127.0.0.1", port=8000, reload=True, debug=True)

参数解释:

app = FastAPI() 用于实例化 FastAPI类,通常app这个变量会设置成全局的,至少在当前模块作用域有效。

@app.get("/") 是一个装饰器,在这里的作用是将普通的Python函数变成一个get请求接口 ("/")表示url是根目录主页。

 至于函数里的代码就很好理解了,定义了一个函数,然后return 了一个字典,表示接口被访问时默认会返回一个JSON格式的数据回去(当然也可以return别的数据格式,例如字符串、列表等)。

uvicorn.run(app='main:app', host="127.0.0.1", port=8000, reload=True, debug=True)

表示使用uvicorn启动当前目录下main.py这个文件里的app实例

reload=True的意思是文件内容变更后自动重启服务,便于开发调试。

启动程序,使用pycharm启动,或者在命令行模式下启动

python3 main.py

访问首页

http://127.0.0.1:8000/

效果如下:

API文档交互

http://127.0.0.1:8000/docs

你将会看到自动生成的API交互文档(由 Swagger UI提供):

可选的API文档

http://127.0.0.1:8000/redoc

你将会看到自动生成的可选的API文档(由(provided by ReDoc提供):

本文参考链接:

http://www.zyiz.net/tech/detail-119883.html

https://www.jianshu.com/p/94710ed35b92

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python中flask 常见问题

    本文出自https://blog.csdn.net/qq_33020901/article/details/69802445

    py3study
  • Python学习笔记—第一章—Pytho

    py3study
  • Windows 7 Aero3D效果展示

    py3study
  • mysql常用语句备忘

    3、导出数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名

    河岸飞流
  • 如何学好一门新技术?

    IT界存在这样一种典型的情况。一个大学刚毕业后参加工作的同学,凭着在学校学到的一些计算机专业知识,熟悉VC、VB、Java、Delphi等一两种编程语言的技能,...

    程序员互动联盟
  • 在Chrome中截取整个网页

    经常使用谷歌浏览器的话,如果要想对网页截图,大多都直接使用系统自带截屏方式或者第三方截屏。但如果要把网页整个截取下来的话,你可以试试Chrome自带的截屏功能。...

    Inkedus
  • 爬虫小工具合集|不会编程也能爬数据

    首先教大家一个用Excel爬取数据的方法,这里用的Microsoft Excel 2013版本,下面手把手开始教学~

    华章科技
  • Linux私房菜:文件目录权限那点事

    共有十个位,注意到第一个字符为[-],表示文件;常见的还有d,代表目录(directory);l,表示连接档(link)

    happyJared
  • 分布式监控系统Zabbix-3.0.3-完整安装记录 - 添加shell脚本监控

    对公司的jira访问状态进行监控,当访问状态返回值是200的时候,脚本执行结果为1;其他访问状态返回值,脚本执行结果是0。然后将该脚本放在zabbix进行监控,...

    洗尽了浮华
  • API 与 SPI

    API 是 应用编程接口(Application Programing Interface) , 是为调用方提供服务或函数的一种方法。 SPI 是 服务提供接口...

    Dylan Liu

扫码关注云+社区

领取腾讯云代金券