描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111736486丛书名: Web开发技术丛书
FastAPI被认为是取代Flask和Django的高性能的Web框架,是业界公认的Python Web的未来。尤其是在Python盛行的当下,FastAPI前景更被看好。InfoWorld发布的2021年最佳开源软件中,FastAPI位列其中。FastAPI具有运行快速、编码快捷、错误更少、操作直观、简易、代码简短、稳健、基于标准。但是学习FastAPI有一定的门槛,本书从0开始,手把手教你玩转FastAPI,是一本从入门到精通的好书。
这是一本从实战角度介绍FastAPI web开发的入门与进阶型技术书。本书没有过多的理论介绍,完全从一线工作角度入手,介绍日常web开发需要掌握的相关知识。本书共分为4篇16章:
第1篇是基础篇,主要介绍FastAPI的基础知识,包括FastAPI的基本信息、安装使用、常规操作、中间件、数据库相关内容。作为初学者,掌握这部分内容就可以快速上手使用FastAPI,处理各种日常问题。
第二篇是进阶篇,主要围绕与FastAPI相关的高级技能展开,包括异常处理、功能扩展、安全认证、性能、测试等相关内容。
第三篇是实战篇,主要从案例的角度对FastAPI在典型应用场景中的落地进行分享,包括短链应用、websocket、基于公众号的挂号系统等应用场景。
第四篇是部署篇,这部分重点介绍如何实现FastAPI的自动化部署,这数据高阶人员技能。本篇提供了三种自动化部署方式。
Preface 前 言
FastAPI框架诞生于2018年12月,如今已经活跃在各大厂家的产品中,如HttpRunner(一个通用测试框架),这足以说明它越来越受到人们的喜爱。截至本书完稿时,FastAPI在GitHub上已收获54100余颗星,且仍然在快速增长中,与Flask这个老牌框架的距离在慢慢拉近(Flask有61800余颗星)。
在国内,使用FastAPI开发Web应用程序已经开始流行。特别是在测试领域,国内有非常多的企业在生产环境中将FastAPI作为主要开发框架。越来越多的Python程序员慢慢从Flask框架迁移到FastAPI,并开始在生产环境中进行应用。
作者之所以被FastAPI吸引,主要是因为它同时支持同步和异步特性。对于同步来说,从Flask迁移过来没什么压力;对于异步来说,FastAPI在单线程的模式下也可以支持更多的任务并发处理,结合依赖注入和各种模型校验等,可以给开发人员带来更快、更高效、更便捷的体验。当然,FastAPI还有很多其他优秀的特性,本书会进行深入分析。
FastAPI的流行之风已形成,但是国内却少有完整地介绍如何将FastAPI应用到生产环境中的教程,这对想使用FastAPI的用户来说无疑是一个坏消息。为此作者在公众号上发布了一系列与FastAPI基础使用相关的文章,得到了读者的广泛好评。有不少读者建议作者写一本内容全面、讲解具体、实战性强的图书,于是,本书诞生了。
适合阅读本书的读者
要想快速且顺畅地掌握本书内容,需要广大读者掌握Python基础知识。若读者对Python完全不了解,则建议先对Python进行简单学习,以便无障碍地阅读本书。
具体来说,适合阅读本书的读者如下:
所有Python Web初中级开发人员。
想要从其他框架(如Flask、Django等)转向FastAPI的Python工程师。
Python Web开发爱好者。
Python Web方向的后端工程师/运维工程师。
想使用FastAPI进行测试开发工作的工程师。
本书特点
本书的项目中包括了一些常用的知识点,从基础到实战都有所涉及,对于一些常见疑难问题,也有所陈述并提供了对应的解决方案,希望读者可以从中受益。
本书主要在作者多年的项目实践经验基础上编写而成,有以下特点。
(1)内容全面,可满足初中级读者的需求。本书从基础使用、运行原理到进阶扩展再到高级应用,都进行了深度讲解。无论是初级读者的安装部署、快速上手需求,还是中级读者的二次开发、高级实践需求,本书都能很好地满足。
(2)内容实用,可真正帮助读者高效工作。本书所有的案例均来自实际开发项目,围绕一线实践需求展开。尤其对消息队列的使用、缓存限流器的原理和使用、错误统计的实现等读者关心的内容,本书进行了深度解读。通过阅读本书,读者可以真正上手开发自己的项目,并实现独立部署上线。
(3)内含一个大型的完整案例及多个来自一线的小案例。为了帮助读者把所学知识落地到实际工作中,本书给出了大量案例,读者可以边阅读边实操。另外,为了完整展现开发全流程,让读者掌握使用FastAPI开发项目的方法,本书还给出了一个大型综合案例——预约挂号系统,其中包括项目框架结构规划、路由分组模块化、数据表模型设计、数据库配置、API实现、异常错误处理、日志记录、订单处理、接口测试、部署上线等内容。
(4)提供完整且可运行的示例源代码。每章所涉及的示例代码都是完整可运行的。通过示例代码,读者可以看到FastAPI对相关功能的实现过程,也能直观体验具体业务逻辑的处理过程。
开发工具版本说明
本书使用的开发工具版本如下:
Python 3.9.5。
FastAPI 0.72.0。
PyCharm IDE 2021.2。
本地环境开发主要使用Windows 10,生产环境部署基于Linux的CentOS 7.6。
反馈与交流
本书中的所有示例代码均托管于码云(https://gitee.com/xiaozhong1988/fastapi_tutorial)上,读者可以通过安装Git客户端来获取相关示例代码。
虽然作者使用FastAPI框架已有些时日,并在生产环境中进行了正式应用,但是不同企业或个人的业务环境、使用场景千差万别,加之作者的水平有限,所以本书给出的部分代码的写法可能不是最优的,也可能存在错误。关于代码错误和优化的相关问题,欢迎大家批评指正,也恳请读者不吝赐教。
读者可以关注公众号“程序员小钟同学”,也可以加入QQ群(247491107),与众多FastAPI的爱好者一起学习交流。
致谢
首先要感谢FastAPI框架的作者Tiangolo创造了这么优秀的产品。
其次要感谢TurboSnail研发团队的领航员马杰老师,是他带我进入软件开发领域。
还要感谢在IT之路上能让作者坚持下来并给予很多指导和帮助的陈焕老师,在作者灰心丧气时,陈老师给予了鼓励及支持,没有陈老师的帮助就没有作者在IT领域的成就。感谢在本书编写的过程中给予作者帮助的郭志强、李时滨及IT之路上的其他伙伴们,他们给作者的帮助是无价的。感谢龙艳给予作者的肯定和支持。还要特别感谢哥哥钟远幸给予的建议和指导。
另外,还要感谢教导过并时时记挂着作者的刘善初和黄宗宜老师。
最后要特别感谢在创作本书期间家人给予的帮助,特别是父亲和母亲的无私关怀和照顾。
本书由浅入深地介绍了FastAPI的原理与实践,并通过大量案例讲解了与FastAPI相关的技术要点和难点。通过本书读者可以轻松掌握并使用FastAPI。总之,这是一本非常接地气的入门并实践FastAPI的好书。
-陈焕 北京银丰新融科技开发有限公司 项目总监
《我的第一个Python Web开发框架》与《从零开始编写自己的C#框架》作者
对于软件开发来说入门是最大的难点,而Web开发因新技术、新框架众多,对初学者来说入门就更难了。聚焦到FastAPI,在缺少足够实践经验的情况下,如何选择和构建出一个完整的技术栈?本书给出了一套有效的解决方案,这套方案可以让初学者少走弯路,不踩坑。本书还给出很多作者精心提炼的一线案例,这些案例代码可以直接用于生产环境,而其中包含的丰富经验和实用性是API文档中没有的,是纯知识验证型示例代码中没有的。阅读本书,学习技术,领悟一名老程序员的经验!
-马杰 副教授,TurboSnail软件研发团队负责人
我很荣幸为广大读者推荐这本关于FastAPI的杰作。看完本书后及钟兄的博客后,我成功构筑了造数平台中的分布式架构造数平台。如今,造数平台在公司内部得到广泛赞誉,在公司外部得到了众多开发者的高度认可和使用。在此,让我向钟兄表达由衷的感激,同时期盼这本书能为更多的读者打开FastAPI的神奇之门,成为大家编程旅程中的永恒知音。
– 章福鹏 米哈游 业务平台组/基础服务组/运维平台组 开发工程师
本书对FastAPI相关的基础知识以及如何使用FastAPI进行了详细说明,对于常见的FastAPI相关的问题也进行了非常清晰和透彻解析,值得学习以及参考。
– 周浩辉 广东省电信规划设计院 数据库系统工程师
FastAPI能够以惊人的速度处理高并发请求,并且提供强大的类型提示和自动文档生成功能,使得开发过程更加高效和可靠。本书是难得的入门FastAPI的好书,书中从基础到实践都有详细介绍,对于想要自己构建一个完整后端应用的读者来说,本书值得参考学习。
– 郭志强 佛山科桥科技有限公司 技术总监
评论
还没有评论。