创建一个最简单的FastAPI

2024-08-28 05:04
文章标签 简单 创建 fastapi

本文主要是介绍创建一个最简单的FastAPI,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如何生成一个最简单的 FastAPI 文件?

FastAPI官方文档:https://fastapi.tiangolo.com/zh/tutorial/first-steps/

# -*- coding: utf-8 -*-"""
@file: main.py
@author: CSDN-北极的三哈
@time: 2024/8/27 22:11
@email:flymeawei@163.com
@software: PyCharm2024.2
"""
from fastapi import FastAPIapp = FastAPI()@app.get("/")
async def root():return {"message": "Hello World"}

1、导入 FastAPI

from fastapi import FastAPI

在这里插入图片描述


2、创建一个FastAPI实例

app = FastAPI()

在这里插入图片描述

这里的变量 app 会是 FastAPI 类的一个「实例」。这个实例将是创建你所有 API 的主要交互对象。这个 app 同样在如下命令中被 uvicorn 所引用:uvicorn main:app --reload


3、定义一个路径操作装饰器

路径:URL中从第一个 / 起的后半部分。
操作:指的是一种 HTTP方法」
装饰器@something

@app.get("/")

@app.get("/")告诉 FastAPI 在它下方的函数负责处理如下访问请求:

  • 请求路径为 /
  • 使用 get 操作

在这里插入图片描述

也可以使用其他的操作:

  • @app.post()

  • @app.put()

  • @app.delete()

  • @app.options()

  • @app.head()

  • @app.patch()

  • @app.trace()


4、定义路径操作函数

路径:是 /
操作:是 get
函数:是位于 @app.get("/") 下方。

async def root():return {"message": "Hello World"}

在这里插入图片描述

5、返回内容

async def root():return {"message": "Hello World"}

可以返回一个 dictlist,像 strint 一样的单个值,等等,还可以返回 Pydantic 模型。还有许多其他将会自动转换为 JSON 的对象和模型(包括 ORM 对象等)。
在这里插入图片描述


6、运行开发服务器

uvicorn main:app --reload

打开浏览器访问 http://127.0.0.1:8000
在这里插入图片描述

http://127.0.0.1:8000/docs交互式 API 文档
在这里插入图片描述

总结:

  1. 导入 FastAPI
  2. 创建一个 app 实例。
  3. 编写一个路径操作装饰器(如:@app.get("/"))。
  4. 编写一个路径操作函数(如上面的 def root(): ...)。
  5. 运行开发服务器(如:uvicorn main:app --reload

这篇关于创建一个最简单的FastAPI的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1113807

相关文章

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

MySQL的触发器全解析(创建、查看触发器)

《MySQL的触发器全解析(创建、查看触发器)》MySQL触发器是与表关联的存储程序,当INSERT/UPDATE/DELETE事件发生时自动执行,用于维护数据一致性、日志记录和校验,优点包括自动执行... 目录触发器的概念:创建触www.chinasem.cn发器:查看触发器:查看当前数据库的所有触发器的定

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Java中使用 @Builder 注解的简单示例

《Java中使用@Builder注解的简单示例》@Builder简化构建但存在复杂性,需配合其他注解,导致可变性、抽象类型处理难题,链式编程非最佳实践,适合长期对象,避免与@Data混用,改用@G... 目录一、案例二、不足之处大多数同学使用 @Builder 无非就是为了链式编程,然而 @Builder

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.