django■6行代码创建一个API服务,FastAPI入门简介


django■6行代码创建一个API服务,FastAPI入门简介
文章图片
django■6行代码创建一个API服务,FastAPI入门简介
文章图片
django■6行代码创建一个API服务,FastAPI入门简介
文章图片
大概在10年前第一次接触Python的Web开发框架Django之后 , 第一次觉得原来开发Web程序这么简单 , 只需要做一些很简单的设计就可以启动一个项目了 , 在那之前 , 我还短暂用过JAVA的SSH框架套装 。 经过对比之后 , 觉得还是Django框架更适合快速开发程序 。
然而一代新人换旧人 , 即使Django已经如此简单了 , 我在有的时候还是会时不时的吐槽它(这玩意还是太过繁琐了 , 我只需要写一个简单的接口服务 , 需要搞那么多东西吗?)
【django■6行代码创建一个API服务,FastAPI入门简介】这种怨念特别是在Django有了DRF之后更加深了(Django REST framework) , 虽然它非常适合用来做前后端分离的接口服务程序 , 也足够傻瓜化 , 不过我觉得还是太重了 。
当然大而全本身也是Django的优点 , 我也没啥好说的 , 它依然是我做Python相关的Web项目的首选 。 而Flask、Tornado之类的 , 老实说我觉得它们不像是一个框架 , 更像是某种脚手架或者“玩具” , 玩具并不是贬义词 , 事实上Flask和Tornado可以开发很正经的应用于生产环境的服务 , 不过它们在我眼里 , 地位还是太尴尬了 , 打着轻量化框架的旗号 , 其实东西一点都不轻量 。
于是寻找一种适合快速开发后端服务接口的框架摆上了我的日程 , 同样也是我今天要学习的框架 , FastAPI 。
本章知识点:

  1. FastAPI简介
  2. FastAPI安装
  3. FastAPI第一个例子
  4. FastAPI自动文档介绍
FastAPI简介现在Web应用都在搞前后端 , 单纯的后端渲染的页面的应用越来越少 , 也算是一种分工明细吧 。 而我对一个Web开发框架的要求已经变了 , 主要包含以下几点 。
  1. 框架结构简单 , 开发快速 。
  2. 专为API接口设计、同时可以兼顾后端渲染 。
  3. 支持异步 。
  4. 完备的ORM支持 。
  5. 支持中间件 。
  6. 方便的整合API文档服务 。
  7. 部署方便 。
  8. 生态丰富 。
FastAPI这个框架进入我的视野应该是2019年了 , 不过一直没认真了解过它 。
直到最近因为工作需要调研一些新的开发框架时 , 只是阅读了它的官方文档第一页的范例 , 我就对它产生了兴趣 , 因为它的设计思路真正契合了Python语言的思路(简单就是美) 。
以上是我对其感兴趣的地方 , 它跟之前提到的Django、Flask、Tornado之类的不一样 , 它其实是专为API服务而开发的 , 没有那么多历史的包袱 。
FastAPI安装FastAPI的安装很简单 , pip直接搞定 , 不过需要注意的是最好同时安装一下uvicorn , 我们在开发阶段开始就可以用uvicorn来作为web服务器启动FastAPI的程序 。
pip install FastAPI

pip install uvicorn

安装完毕后 , 随手写几行代码来演示一下 , 文件命名为main.py即可 。
from fastapi import FastAPI

app = FastAPI()

@app.get(\"/\")
def index():
return {\"data\": \"hello world\"

写完代码后 , 我们用刚才uvicorn安装好的启动一下服务 。