fastapi python 并发_Python-FastAPI 使用asyncio生态圈开发异步博客(一)数据篇

本文介绍了使用Python FastAPI构建异步博客系统的第一部分——数据篇。主要内容包括数据库设计、API设计原则、前后台API示例以及数据库表结构的设计。文章提到了如何利用ORM简化SQL操作,并探讨了数据存储、数据库备份和并发访问等问题。
摘要由CSDN通过智能技术生成

Frodo的第一个版本已经实现了,在下一个版本前,我将目前的开发思路整理成三篇文章,分别是数据篇、通信篇、异步篇。

简要系统分析

数据库设计是紧跟需求来的,在我本科学UML时,数据库设计是在需求分析和系统分析之后,架构设计之前的设计。但博客项目的需求比较简单,主要大需求:

内容管理(文章、用户、标签、评论、反馈、动态的增删改查)

管理员用户的验证、评论人用户的验证

小功能:边栏组件、归档、分类等

再简单地做一个系统分析:

博客前台页面(不需要认证,内容展示)

博文内容

博客作者

标签

访问量

管理页面(需要登录认证进行内容管理)

动态页面(需要认证)

评论(访问者需要登录认证)

接下来的工作就是根据功能需求设计前后台API,一般如果你是全栈自己开发的话,API形式可以随意些,因为后续还可以灵活调整。如果需要和前端同事合作的话,你需要严格按照restful风格编写,接口的参数、命名、方法和返回体的构造上严格体现需求。

API 格式理应最大化地体现功能需求

前后台API的形式也取决于所用技术,Frodo前台页面是选择模板渲染的,后台是使用Vue, 那么模板就可以在页面上编程,可以实时决定上下文,可以不事先指定。

后台API

url

method

params

response

info

api/posts

GET

limit:1

page: 页面数

with_tag

{'items': [post.*.,], 'total': number}

查询Posts

需要登录

api/posts/new

POST

FormData

title

slug

summary

content

is_page

can_comment

author_id

status

x

x

api/post/

GET/PUT/DELETE

x

items.*.created_at

items.*.author_id

items.*.slug

items.*.id

items.*.title

items.*.type

items.*._pageview

items.*.summary

status

items.*.can_comment

items.*.author_name

items.*.tags.*

total

需要登录

api/users

GET

x

{'items':[user.*.,], 'total': num}

需要登录

api/user/new

POST

FormData

active<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值