使用 PyCharm 构建 FastAPI 项目:零基础入门 Web API 开发

使用 PyCharm 构建 FastAPI 项目:零基础入门 Web API 开发

本文提供了一份完整的 FastAPI 入门指南,涵盖从环境搭建、依赖安装到创建并运行一个简单的 FastAPI 应用的各个步骤。通过 FastAPI 和 Uvicorn,开发者可以快速构建现代化的 Web API。文章还介绍了如何使用 PyCharm 创建 Python 项目、如何编写 API 路由和数据模型,并通过 Swagger UI 和 ReDoc 自动生成交互式 API 文档进行测试。本文适合初学者了解 FastAPI 的基础知识,并快速上手开发高效的 Web API。

文章目录

  • [使用 PyCharm 构建 FastAPI 项目:零基础入门 Web API 开发](#使用 PyCharm 构建 FastAPI 项目:零基础入门 Web API 开发)
      • [一 FastAPI 依赖简述](#一 FastAPI 依赖简述)
      • [二 使用 PyCharm 创建 python 应用](#二 使用 PyCharm 创建 python 应用)
        • [1 使用 Pure Python](#1 使用 Pure Python)
        • [2 使用 FastAPI 插件](#2 使用 FastAPI 插件)
      • [三 FastAPI 安装](#三 FastAPI 安装)
        • [1 安装 FastAPI](#1 安装 FastAPI)
        • [2 安装 ASGI 服务器](#2 安装 ASGI 服务器)
      • [四 FastAPI 示例](#四 FastAPI 示例)
      • [五 启动应用](#五 启动应用)
      • [六 检查运行状态](#六 检查运行状态)
      • [七 交互式 API 文档](#七 交互式 API 文档)
        • [1 Swagger UI](#1 Swagger UI)
        • [2 ReDoc 文档](#2 ReDoc 文档)
      • [八 源码地址](#八 源码地址)

一 FastAPI 依赖简述

FastAPI 核心技术栈 说明
Python 建议版本 python 3.6+
Starlette 用于处理 Web 部分
Pydantic 用于处理数据验证和解析

二 使用 PyCharm 创建 python 应用

File -> New Project... ,本文使用 Pure Python 创建应用。

1 使用 Pure Python
2 使用 FastAPI 插件

三 FastAPI 安装

1 安装 FastAPI

要安装 FastAPI,可以运行以下命令。

sh 复制代码
# 本文安装的是 fastapi[standard]
pip install "fastapi[standard]"
pip install "fastapi[all]"
pip install fastapi
2 安装 ASGI 服务器

ASGI 服务器是用来运行应用程序的,推荐在生产环境中使用 Uvicorn

sh 复制代码
pip install "uvicorn[standard]"

安装 FastAPI 一般会带上 uvicorn,当然你也可以用其他 ASGI 服务器。

四 FastAPI 示例

下面是一个简单的 FastAPI 示例,将这段代码拷贝到 main.py 中 。

python 复制代码
from typing import Union

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    price: float
    is_offer: Union[bool, None] = None

@app.get("/")
def read_root():
    return {"Hello": "World"}

@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
    return {"item_id": item_id, "q": q}

@app.put("/items/{item_id}")
def update_item(item_id: int, item: Item):
    return {"item_name": item.name, "item_id": item_id}

五 启动应用

要运行应用程序,使用以下命令启动服务器:

sh 复制代码
uvicorn main:app --reload

命令说明:

  • main:指向 main.py 文件(即 Python 模块)。
  • app:在 main.py 文件中通过 app = FastAPI() 创建的应用实例。
  • --reload:开启代码热重载,使得修改代码后服务器自动重启(适用于开发环境)。

运行日志

lua 复制代码
INFO:     Will watch for changes in these directories:[xxx]
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [26400] using WatchFiles
INFO:     Started server process [26404]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

六 检查运行状态

访问 http://127.0.0.1:8000/items/5?q=somequery 来验证应用的工作情况,返回 JSON。

json 复制代码
{
	"item_id": 5,
	"q": "somequery"
}

七 交互式 API 文档

1 Swagger UI

访问 http://127.0.0.1:8000/docs,看到自动生成的交互式 API 文档( Swagger UI )。

2 ReDoc 文档

访问 http://127.0.0.1:8000/redoc,查看另一种自动生成的文档界面( ReDoc )。

八 源码地址

详情见:GitHub FastApiProj

引用: FastAPI 文档

相关推荐
AI_56787 小时前
Selenium+Python可通过 元素定位→操作模拟→断言验证 三步实现Web自动化测试
服务器·人工智能·python
蒜香拿铁7 小时前
【第三章】python算数运算符
python
浮尘笔记8 小时前
Go语言临时对象池:sync.Pool的原理与使用
开发语言·后端·golang
52Hz1189 小时前
力扣73.矩阵置零、54.螺旋矩阵、48.旋转图像
python·算法·leetcode·矩阵
梦梦代码精9 小时前
BuildingAI vs Dify vs 扣子:三大开源智能体平台架构风格对比
开发语言·前端·数据库·后端·架构·开源·推荐算法
weixin_462446239 小时前
Python 使用 openpyxl 从 URL 读取 Excel 并获取 Sheet 及单元格样式信息
python·excel·openpyxl
REDcker10 小时前
RESTful API设计规范详解
服务器·后端·接口·api·restful·博客·后端开发
毕设源码-钟学长10 小时前
【开题答辩全过程】以 基于Python的健康食谱规划系统的设计与实现为例,包含答辩的问题和答案
开发语言·python
百***787510 小时前
Grok-4.1技术深度解析:双版本架构突破与Python API快速集成指南
大数据·python·架构
2501_9421917711 小时前
基于YOLO11-HSFPN的数字检测与识别模型实现详解
python