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