《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 ...
随机推荐
- 线性判别分析(LDA):降维与分类的完美结合
在机器学习领域,线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的算法,它在降维和分类任务中都表现出色. LDA通过寻找特征空间中能够最大化类间方差和最小 ...
- Flowable快速入门
flowable官方文档 官网:https://tkjohn.github.io/flowable-userguide/#_getting_started 工作流(Workflow),是& ...
- zk源码—5.请求的处理过程
大纲 1.服务器的请求处理链 (1)Leader服务器的请求处理链 一.PrepRequestProcessor请求预处理器 二.ProposalRequestProcessor事务投票处理器 三.S ...
- 🎀windows-剪切板
简介 Windows 剪贴板是一个临时存储区域,它允许用户在不同应用程序之间复制和粘贴文本.图像和其他类型的数据.从 Windows 10 开始,微软引入了一个改进的剪贴板功能,称为剪贴板历史记录,它 ...
- JAVA stream集合List<Map>转二维集合Map<String,Map<String,Object>>
简介 将一个 List<Map> 转换为一个二维的 Map 结构通常意味着我们需要创建一个 Map<K, Map<K, V>>.这里,外部的 Map 使用某个键(比 ...
- excel 类模块的使用
类模块代码如下: '类模块Cmds的代码 Option Explicit Public WithEvents testx As msforms.CommandButton '增加点击事件 Privat ...
- 前端 Vue 后端返回流,前端通过流进行下载
前端写法 //文件下载 async handleDownload(row) { try { // 假设文件是通过 GET 请求获取的,url 为文件资源的 API 地址 const response ...
- HTML5和CSS3基础
HTML元素 空元素 不是所有元素都拥有开始标签.内容和结束标签.一些元素只有一个标签,通常用来在此元素所在位置插入/嵌入一些东西.这些元素被称为空元素例如:元素 `` 是用来在页面插入一张指定的图片 ...
- Java基础之“Double类型,保留两位小数,避免因小数过长导致乱码问题”
保留两位小数 方案一 Double totalSaleAmount = 4.174558045899999E7; DecimalFormat df = new DecimalFormat(" ...
- RocketMQ高级使用
消息存储 分布式队列因为有高可靠性的要求,所以数据要进行持久化存储. 消息生成者发送消息 MQ收到消息,将消息进行持久化,在存储中新增一条记录 返回ACK给生产者 MQ push 消息给对应的消费者, ...