FastAPI开源框架开发实践:删除帖子和OpenAPI dashboard

本文将使用FastAPI开源框架,实现删除帖子的Python服务。

一、删除帖子服务

定义变量一个字典变量 discussion_posts,表明帖子列表:

# 帖子列表
discussion_posts = dict()

下面这段 FastAPI 代码定义了一个用于删除讨论帖子的 HTTP DELETE 请求处理函数。

@app.delete("/ch01/discussion/posts/remove/{username}")
def delete_discussion(username: str, id: UUID):
 if valid_users.get(username) is None:
 return {"message": "用户不存在"}
 elif discussion_posts.get(id) is None:
 return {"message": "帖子不存在"}
 else:
 del discussion_posts[id]
 return {"message": "帖子已删除"}

delete_discussion函数接受两个参数:username(一个字符串类型,从 URL 路径中获取)和 id(一个 UUID 类型,从请求体或查询参数中获取)。

检查 valid_users 字典中是否存在键为 username 的条目。如果不存在,说明用户不存在。用户不存在,函数返回一个包含消息 “用户不存在” 的 JSON 响应。

如果用户存在,代码接着检查 discussion_posts 字典中是否存在键为 id 的帖子。如果不存在,说明帖子不存在。帖子不存在,函数返回一个包含消息 “帖子不存在” 的 JSON 响应。

如果用户存在且帖子也存在,从 discussion_posts 字典中删除键为 id 的帖子条目。删除帖子后,函数返回一个包含消息 “帖子已删除” 的 JSON 响应。

二、启动应用

通过POSTMAN发起DELETE请求:

localhost:8000/ch01/discussion/posts/remove/lily?id=556215C3-AFBB-B841-48B6-7DFC81CED04B

FastAPI开源框架开发实践:删除帖子和OpenAPI dashboard

三、OpenAPI dashboard

一个好的做法是,所有URL 都以一样的顶级基本路径开始,例如 /ch01,然后在到达各自的子目录时有所不同。在运行 uvicorn 服务器后,我们可以通过访问文档 URL(
http://localhost:8000/docs) 来检查和验证我们的所有 URL 是否有效并正在运行。

如图所示显示一个OpenAPI dashboard,列出该应用创建的所有API方法:

FastAPI开源框架开发实践:删除帖子和OpenAPI dashboard

选择其他一个端点,如/ch01/index,可以在该页面发起模拟请求:

FastAPI开源框架开发实践:删除帖子和OpenAPI dashboard

#冬日生活打卡季##文章首发挑战赛#

© 版权声明

相关文章

暂无评论

none
暂无评论...