在 Go 中构建 API 和 Web 应用程序的高级模式

Advanced patterns for building APIs and web applications in Go

Let’s Go Further 帮助您扩展和扩展您的 Go 知识 — 让您超越基础知识,指导您了解开发、管理和部署 API 和 Web 应用程序的高级模式。

它建立在Let’s Go中介绍的许多概念的基础上,并讨论了 RESTful JSON API 的从头到尾的构建——从初始项目设置到生产中的部署。

这使我们有机会在一个完整的、工作的应用程序的上下文中涵盖重要主题——包括 SQL 迁移、CORS 请求、基于权限的授权、管理后台任务、报告指标、自动化构建和部署步骤等等。

如果您喜欢 Let’s Go,那么本课程应该非常适合您,也是掌握 Go 的理想下一步。

你会学到什么……

  1. 1结构和组织——如何为您的 RESTful API 项目实现惯用且灵活的代码结构。
  2. JSON 响应——如何从您的 API 发送 JSON 响应,如何格式化和自定义它们以满足您的确切需求,以及您需要注意哪些常见问题。
  3. JSON 请求——如何解析传入的 JSON 请求、管理错误请求以及限制和验证 JSON 内容。
  4. SQL 迁移——如何使用 SQL 迁移来组织和管理对数据库架构的更改。
  5. 5数据库操作——如何设置数据库查询超时并优化 Go 的 sql.DB 连接池的行为。
  6. Beyond CRUD — 如何对您的 API 资源执行“高级”操作,包括获取相关数据和执行部分更新(使用乐观并发控制)。
  7. 7过滤、排序和分页——如何轻松支持 API 端点中数据的过滤、排序和分页。
  8. 8全文搜索——如何使用 PostgreSQL 的全文搜索功能来支持数据的自然语言搜索。
  9. 9结构化日志记录— 如何开发自定义记录器,以 JSON 格式编写结构化、分级的日志条目。
  10. 10速率限制——如何实现一个简单而健壮的模式来对你的 API 执行每个客户端的速率限制。
  11. 11管理后台任务——如何在后台 goroutine 中安全地执行任务。
  12. 12正常关机——如何设置您的 API 以允许正常关机,包括等待后台任务完成。
  13. 13发送电子邮件——如何使用 Go 的新嵌入式文件功能从 API 发送电子邮件和管理电子邮件内容。
  14. 14用户激活和密码重置——如何为注册用户、验证他们的电子邮件地址和管理密码重置构建安全的工作流程。
  15. 15身份验证——如何使用有状态承载令牌和无状态 JWT(JSON Web 令牌)对用户进行身份验证。
  16. 16基于权限的授权——如何在您的 API 端点上实施基于权限的细粒度授权检查。
  17. 17管理 CORS 请求— 如何控制前端 JavaScript 应用程序对 API 的跨域请求。
  18. 18 Metrics — 如何公开应用程序指标,包括内存使用、sql.DB 连接池统计、响应状态计数等。
  19. 19构建和审计——如何使用 Go 的工具和 Makefile 轻松审计代码、构建二进制文件和供应商依赖项。
  20. 20版本控制——如何在构建二进制文件时利用 Git 实现自动应用程序版本控制。
  21. 21部署— 如何在 Digital Ocean 上设置 Linux 服务器、自动化部署以及使用 systemd 在生产环境中将 API 作为后台服务运行。

 

 

2024-04-30 更新

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。