栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【FastAPI.S01E01】写在最前面&创建一个项目

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【FastAPI.S01E01】写在最前面&创建一个项目

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 写在最前面
  • 一、FastAPI介绍
    • 1.FastAPI是什么?
    • 2.为什么要选择FastAPI?
  • 二、创建我的第一个项目
    • 1.官方文档
    • 2.我在Pycharm上创建
  • 总结


写在最前面

学习FastAPI有两个目标,第一个是用来开发自己的小站,保持技术警惕,了解行业技术发展;另外一个是计划将来开发一个自动化接口测试平台。通过对这两个目标的开发来使得自己可以整体的学习后端、前端、部署、数据、Linux等技术。


一、FastAPI介绍 1.FastAPI是什么?

想要了解什么是FastAPI,直接的方式就是官方文档,链接: FastAPI官方文档
写这个学习记录的时候,已经 44.6K了,所以这个项目的火热程度是蹭蹭的。
还可以看下,Jetbrains的2021 开发者生态系统现状中FastAPI的总体占比为14%,链接: FastAPI的开发框架总体占比

2.为什么要选择FastAPI?

选择它的原因,来源于它的技术特性以及未来发展(我猜的,手动狗头),少废话,直接看官网介绍:

FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。
关键特性:
快速:可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。
高效编码:提高功能开发速度约 200% 至 300%。*
更少 bug:减少约 40% 的人为(开发者)导致错误。*
智能:极佳的编辑器支持。处处皆可自动补全,减少调试时间。
简单:设计的易于使用和学习,阅读文档的时间更短。
简短:使代码重复最小化。通过不同的参数声明实现丰富功能。bug 更少。
健壮:生产可用级别的代码。还有自动生成的交互式文档。
标准化:基于(并完全兼容)API 的相关开放标准:OpenAPI (以前被称为 Swagger) 和 JSON Schema。

Starlette 和 Pydantic是两个比较重要的内容,后续需重点了解学习。

二、创建我的第一个项目 1.官方文档

官方文档上已经给了安装和示例.:

安装
pip install fastapi
pip install uvicorn

from typing import Optional
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: Optional[str] = None):
    return {"item_id": item_id, "q": q}

这里官方示例写的hin详细,包括创建,运行,检查,交互的api文档,所以这里就不赘述了。

2.我在Pycharm上创建

在Pycharm上我想要运行起来这个服务,代码示例如下:

import uvicorn
from typing import Optional
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: Optional[str] = None):
    return {"item_id": item_id, "q": q}

if __name__ == '__main__':
    uvicorn.run(app,host='127.0.0.1',port=8000)

导入uvicorn包后,就可以调用run方法来运行起来


总结
  1. 选择FastAPI的原因:技术特性以及未来发展
  2. 创建第一个项目:官方示例以及pycharm上运行的示例
  3. 这里主要的作用是学习记录,本人FastAPI小白,所以记录的东西会比较浅显,但会循序渐进。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/857290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号