小结

本章是一段漫长的旅程,但您也已经取得了长足的进步!

从测试套件开始,我们的应用程序框架已开始成型。功能也在不断完善:我们现在拥有一个功能齐全的订阅流程,并附带了一封正式的确认邮件。

更重要的是: 我们正在逐渐适应编写 Rust 代码的节奏。 本章的最后是一段漫长的结对编程练习,我们取得了显著的进展,而没有引入太多新概念。

现在正是您独立探索的好时机:改进我们目前构建的内容!

有很多机会:

  • 如果用户尝试订阅两次会发生什么? 确保他们收到两封确认邮件
  • 如果用户点击两次确认链接会发生什么?
  • 如果订阅令牌格式正确但不存在会发生什么?
  • 添加对传入令牌的验证,我们目前将原始用户输入直接传递给查询(感谢 sqlx 保护我们免受 SQL 注入攻击 <3)
  • 使用合适的模板解决方案来设计我们的电子邮件(例如 tera)
  • 任何你能想到的!

需要刻意练习才能精通。