《Building REST APIs with Flask》读后感
一、 为什么读这本书?
之所以选择这本书其实是因为最近自己在梳理 JWT 的用法。自己曾参与过的一个项目虽然使用的是 Flask 开发,但是授权使用的 PyJWT,当时以为使用 PyJWT 是行业通用选择,就没有去过多了解。后面发现有人对 PyJWT 进行了封装,造了一个 Flask-JWT-Extended,所以想了解下“在 Flask 项目中,选择Flask-JWT-Extended,还是 PyJWT?”,刚好这本书有提到,所以就打算读一读。
二、这本书写了什么?
从2025年6月25日至2025年6月30日,期间断断续续花了6天阅读完《Building REST APIs with Flask》。
该书介绍了两个项目:flask-mysql,author-manager,通过这两个项目介绍 Flask 的基本用法,开发 REST APIs 的流程。flask-mysql 介绍了如何在 Flask 项目中集成数据库。author-manager 介绍了注册登录功能,CRUD操作、项目部署。
当然,虽然看完了这本书,但也没找到“在Flask项目中,选择Flask-JWT-Extended,还是 PyJWT?”这个问题的答案,因为作者也没有说。
三、这本书特点
1.简短。
“简短”可能是这本书的唯一优点了,200多页,两个项目。遇到问题的时候,代码改起来不至于太困难。
2.问题很多。
p41, 一个一个判断需要修改的参数,这种风格不好,如果参数很多的时候就很麻烦。
p42, 代码中无异常处理。
@app.route('/authors/<id>', methods = ['DELETE'])
def delete_author_by_id(id):
get_author = Authors.query.get(id)
db.session.delete(get_author)
db.session.commit()
return make_response("",204)
p79, 日志的设置不是规范的做法,过于随便。
logging.basicConfig(
stream=sys.stdout,
format='%(asctime)s|%(levelname)s|%(filename)s:%(lineno)s|%(message)s',
level=logging.DEBUG)
p91,使用 JWT 进行认证时只有 access_token, 没有 refresh_token。
还有很多很多问题,这里就不一 一列举了。
四、这本书适合什么样的人?
鉴于书中问题较多,同时这本书是 2019 年写的,现在是 2025 年了,大部分内容已经过时了,所以不推荐阅读。
五、推荐指数
按照5 星的标准,本书推荐指数 1 颗星。
六、参考资料
1. 编程
(1)Kunal Relan: https://book.douban.com/subject/34825401/
(2)源码: https://github.com/Apress/building-rest-apis-with-flask
2. 英语
(1) Etymology Dictionary:https://www.etymonline.com
(2) Cambridge Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)
《Building REST APIs with Flask》读后感的更多相关文章
- 《DevOps软件架构师行动指南》读后感
从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维.部署流水线.监控.安全与审计以及质量关注,这是本书一开始内容简介的开头,本书的作者是伦恩·拜斯(Len Bass).英戈·韦伯 ...
- nodejs开发指南读后感
nodejs开发指南读后感 阅读目录 使用nodejs创建http服务器; supervisor的使用及nodejs常见的调式代码命令了解; 了解Node核心模块; ejs模板引擎 Express 理 ...
- DevOps:软件架构师行动指南(文摘)
第一部分 背景 第1章 DevOps是什么 第二部分 部署流水线 第三部分 横切关注点 第四部分 案例研究 第五部分 走向未来
- 2020年DevOps工程师入门指南
DevOps兴起于2010年代,到现在DevOps已经在行业中拥有了一席之地,并在继续发展壮大. 有兴趣成为一名DevOps工程师吗?如果想要成为一名DevOps工程师,需要做到以下五点: 要有开发者 ...
- 5月29日 Java性能调优指南 读后感
并行垃圾收集器 串行垃圾收集器 并发标记清除(CMS)垃圾收集器 Garbage First(G1)垃圾收集器 没有深入的学习G1的原理,只是看了大概的思想; SA工具:待学习
- 敏捷开发、DevOps相关书籍——书单
自己瞎整理的一些书单,都是豆瓣评分比较高的书,可以作为选择的一个参考. 书名 豆瓣链接 持续交付:发布可靠软件的系统方法 https://book.douban.com/subject/6862062 ...
- 有奖试读—Windows PowerShell实战指南(第2版)
为什么要学PowerShell? Windows用户都已习惯于使用图形化界面去完成工作,因为GUI总能轻易地实现很多功能,并且不需要记住很多命令.使得短时间学会一种工具成为可能. 但是不幸的是,GUI ...
- [转载]你所不了解的DevOps
DevOps开发运维训练营 一旦建立了创新的文化,即使那些并非科学家或者工程师的人——诗人.演员.记者——也能以团体的形式,接受科学文化的意义.他们信奉创新文化的概念.他们以促进这种文化的方式投票.他 ...
- 给 DevOps 初学者的入门指南
当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...
- CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
随机推荐
- 【教程】C语言入门
C语言入门 首先导入头文件 #include<stdio.h> 接下来编写主函数 #include<stdio.h> int main() { retuen 0; } 最后,在 ...
- DeepSeek 聊天机器人项目
想要更深入玩转聊天机器人开发? 推荐本文档 + 课程<DeepSeek 聊天机器人项目>一起学习,效果翻倍! 边学边练,轻松打造智能对话系统~ (๑•̀ㅂ•́)و✧ 快上车,AI 之旅发车 ...
- 洛谷 - B4276 [蓝桥杯青少年组国赛 2023] 八进制回文平方数 - 题解
题目传送门 主要思路 首先,这道题范围在 \(10^9\),我们不可能直接从 \(1\) 循环到 \(N\).我们不难看出,这道题是求平方数的八进制是否回文,那些不是平方数的例如 \(2\) 呀,\( ...
- @Transactional的属性
@Transactional的属性: isolation-Isolation:事务的隔离级别(与并发相关) noRollbackFor-Class[]:那些异常,事务可以不回滚 noRollbackF ...
- 邮件自动回复助手(Rasa/SMTP)实现教程
在现代办公场景中,处理大量邮件是一项既耗时又容易出错的任务.为了提升工作效率,我们可以利用自然语言处理(NLP)和邮件传输协议(SMTP)技术,构建一个智能的邮件自动回复助手.本文将详细介绍如何使用P ...
- 20K star!让网页设计秒变手绘风,这个开源库太有创意了!
"Rough.js 是一个轻量级的图形库(仅8KB),能够为网页元素赋予自然的手绘质感.通过独特的算法模拟人类绘画的不规则性,开发者只需几行代码即可为图表.流程图.UI组件等数字内容注入生动 ...
- 我也来说说经典面试题目-“OOM异常会导致JVM退出吗?”
经典面试题目"OOM异常会导致JVM退出吗? 我的回答是"这要分情况看,对于守护线程来说,OOM并不会导致JVM退出:对于非守护线程来说,如果某个线程捕获了OOM异常并正确进行了处 ...
- WO Mic - 免费麦克风
WO Mic可以将您的手机变成电脑麦克风.您无需支付一分钱购买任何设备.如果您选择无线传输,它也是便携的.数百万用户已经安装并每天都在使用它进行通话.录音.语音遥控等活动. 三大组件协同工作以实现这一 ...
- SpringBoot配置@ConfigurationProperties(prefix = "pig")时中文乱码
问题出现 通过@ConfigurationProperties(prefix = "pig")注解进行属性绑定的时候,application.properties文件中出现中文,从 ...
- JSP (一) -- 初识JSP
目录 概念 作用 JSP开发 创建JSP JSP编写Java代码 访问JSP JSP与Servlet JSP实现原理 概念 JSP (Java SErver Pages),简化Servlet设计,在H ...