一、简介
1. FastAPI 概述
FastAPI 是一款现代、轻量、高性能的 Python Web 框架,专门用来快速构建 API(应用程序编程接口)。它是近几年 Python 生态中最火的 Web 框架之一,尤其适合快速上手写后端接口。
2. FastAPI 适用场景
- 前后端分离项目的后端 API;
- 微服务间的接口;
- 数据接口(如提供数据库商品信息);
- 快速原型开发。
二、FastAPI+Python 前后端交互全解析
作为初学者,刚接触前后端交互时容易对概念感到困惑。本文将结合实战代码,解析 FastAPI 接口编写、requests 库使用及 Request 对象原理,帮助你理解前后端交互的底层逻辑。
1. 前后端交互的本质
可以用餐厅点餐来比喻:
- 前端:顾客,负责提需求(如要一碗牛肉面);
- 后端:厨房,负责处理需求(煮面、加牛肉);
- HTTP 协议:服务员,负责传递需求和结果;
- 请求:顾客喊'服务员,来碗牛肉面';
- 响应:服务员端上做好的菜或告知'卖完了'。
Python 前端脚本相当于'顾客',FastAPI 后端相当于'厨房',两者靠 HTTP 协议传递数据。
2. 项目需求
使用 FastAPI 实现以下功能:
- 用户注册:用户名和密码不为空,用户名长度大于 6,密码长度大于 8 且包含下划线、字母和数字,且用户名不重复。
- 用户登录:用户名和密码正确则提示欢迎,否则提示错误。
- 查看用户信息:获取已注册用户列表。
3. 代码设计思路
本项目采用'FastAPI 后端接口服务 + Python 命令行前端客户端'组合。
1. 前端代码设计思路
前端主要使用 requests 库发送 HTTP 请求。
import requests
requests 是 Python 生态中最常用的 HTTP 请求库,它将用户的操作转换成后端能识别的 HTTP 请求,并带回响应结果。
while True:
user_input = input('1、注册\n2、登录\n3、查看\n4、退出\n请输入你要进行的操作:')
if user_input == '1':
user = input("用户名:")
password = input("密码:")
res = requests.post("http://127.0.0.1:8000/user/register", params={"username": user, "password": password})
result = res.json()
()
user_input == :
user = ()
password = ()
res = requests.post(, params={: user, : password})
result = res.json()
()
user_input == :
res = requests.post()
result = res.json()
(result)
user_input == :
:
()

