FastAPI 入门

作者 : 慕源网 本文共1646个字,预计阅读时间需要5分钟 发布时间: 2022-03-27 共241人阅读

介绍

FastAPI 是一个使用 Python 3.6+ 版本构建 API 的高性能框架,使用 FastAPI 开发 API 有很多好处,其中一些好处是,

  1. 自动交互 API 文档(其他语言和框架中的 Swagger)。
  2. 自动数据验证
  3. 简单

本文通过示例解释了如何使用 FastAPI 框架开发 REST API,并探讨了上述 FastAPI 的好处。让我们探索一下。

强烈推荐

海量程序代码,编程资源,无论你是小白还是大神研究借鉴别人优秀的源码产品学习成熟的专业技术强势助力帮你提高技巧与技能。在此处获取,给你一个全面升级的机会。只有你更值钱,才能更赚钱

如果你是初级程序员可以研究别人的代码提高技术,如果你喜欢搞网盟或者外包,可以让你快速建站,还等什么赶快关注吧,我们会持续输出相关资源

海量源码程序,学习别人的产品设计思维与技术实践

安装

就像任何其他 Python 框架一样,FastAPI 将使用“pip”命令安装

pip install fastapi

FastAPI 入门

为了在服务器中运行 API,本文使用“uvicorn”。

pip install uvicorn
FastAPI 入门

API

我们将探索一个带有 2 个 GET 端点的简单员工 REST 服务,第一个是“/employees”,它将返回系统中的所有员工,第二个是“/employees/{empId}”,它返回一个员工的详细信息给定身份证。让我们创建一个文件名“employee.py”

from fastapi import FastAPI
app = FastAPI()

@app.get('/employees')
def employees():
	return {"empId":1, "name":"Test", "dept": "IT"}

首先,将导入 FastAPI,第二行 app = FastAPI() 表示 FastAPI 已初始化,第 3 行是我们的 GET 端点,#4 是端点实现,它返回 JSON。

让我们在 ‘uvicorn’ 中运行这个简单的服务,

uvicorn employee:app -- reload

–reload 表示服务将永远运行,并且任何更改都将被热部署并立即反映更改而无需重新启动服务器。

FastAPI 入门

默认情况下,服务器将从 8000 端口开始,让我们执行 ‘/employees’ 端点。

FastAPI 入门

到目前为止没有什么新鲜事,FastAPI 的魔力将在端点 ‘http://localhost:8000/docs’ 的执行中可见

FastAPI 入门

无需在服务中进行任何配置,我们就可以使用文档,通过文档或 Swagger,API 的使用者可以看到 API 的结构并验证/执行它们,开发人员和非开发人员都可以理解。

FastAPI 入门

开发第二个端点’/employees/{empId}’,基于empId,将返回员工详细信息。

from fastapi
import FastAPI
app = FastAPI()
employee_details = {
    1: {
        "name": "Sam",
        "dept": "IT"
    },
    2: {
        "name": "John",
        "dept": "HR"
    }
}
@app.get('/employees')
def employees(): return {
    "name": "Test",
    "dept": "IT"
}
@app.get('/employees/{empId}')
def employeeById(empId: int): return employee_details[empId]

代码稍作改动,在方法employeeById 中会从employee_details 对象返回详细信息,参数empId 是int 类型。

FastAPI 入门

empId 属于 API 正确返回的“John”,但是如果消费者传递的是字符串而不是 int,我们还没有处理这种情况,API 将如何表现。这种错误情况将由自动验证处理。

FastAPI 入门

太好了,开发人员可以从各种 API 文档和验证中解脱出来,即使传递一个不存在的 ID,FastAPI 也会返回内部服务器错误

FastAPI 入门

结论

本文解释了 FastAPI 是如何安装、部署它的,并涵盖了自动交互文档和自动验证。下一篇关于 FastAPI 的文章将介绍 POST / PUT 端点和更好的文档方面。


慕源网 » FastAPI 入门

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录