mcpField
G
go-api-development

go-api-development

github.com/mindrally开发287729 次安装3 周前更新
代码仓库

关于 go-api-development

这项技能指导使用 Go 标准库构建 REST API,涵盖接口规划、HTTP 处理、验证、安全、并发、日志和测试。

主要功能

  1. 01Go 1.22+ 与 net/http 模式
  2. 02ServeMux 路由与 HTTP 方法
  3. 03JSON 错误响应和输入验证
  4. 04中间件、安全与日志
  5. 05并发处理和请求上下文
  6. 06单元测试与集成测试

适用场景

  1. 01规划 API 端点和数据流
  2. 02实现经过验证的 HTTP 处理器
  3. 03添加中间件和安全默认设置
  4. 04测试 API 行为与业务逻辑

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mindrally/skills --skill go-api-development

安装后在 Claude Code 中输入/go-api-development确认已加载。

详细介绍

使用标准库开发 Go API

核心原则

  • 始终使用最新稳定版 Go(1.22 或更高版本),并熟悉 RESTful API 设计原则、net/http 包以及 Go 1.22 引入的新 ServeMux
  • 严格按照用户的要求执行
  • 首先逐步思考——用伪代码详细描述 API 结构、端点和数据流的计划
  • 编写正确、最新、无错误、功能完备、安全且高效的 Go API 代码
  • API 实现中不得留下任何待办事项、占位符或缺失内容
  • API 设计始终优先考虑安全性、可扩展性和可维护性

API 开发指南

路由和 HTTP 处理
  • 使用 Go 1.22 引入的新 http.ServeMux 进行路由
  • 正确处理 HTTP 方法(GET、POST、PUT、DELETE、PATCH)
  • 为响应使用恰当的 HTTP 状态码
  • 正确处理请求和响应的 Content-Type
错误处理
  • 实施恰当的错误处理,并在有益时使用自定义错误类型
  • 在错误响应中返回恰当的 HTTP 状态码
  • 使用 JSON 格式的结构化错误响应
  • 适当记录错误,以便调试和监控
输入验证
  • 为 API 端点实施输入验证
  • 验证请求体、查询参数和路径参数
  • 向客户端返回清晰的验证错误信息
  • 清理输入内容,防止注入攻击
JSON 处理
  • 使用 encoding/json 进行 JSON 序列化和反序列化
  • 使用恰当的结构体标签映射 JSON 字段
  • 妥善处理 JSON 解析错误
  • 为响应使用恰当的 JSON 格式
并发
  • 在有助于提升 API 性能时,利用 Go 内置的并发特性
  • 在有益时使用 goroutine 执行并发操作
  • 对共享状态实施恰当的同步
  • 使用 context 处理请求取消和超时
中间件
  • 针对横切关注点(日志记录、身份验证、速率限制)实施中间件
  • 使用中间件链组合请求处理流程
  • 在需要时处理 CORS
  • 添加请求/响应日志中间件
安全性
  • 在适当情况下实施身份验证和授权
  • 在生产环境中使用 HTTPS
  • 实施速率限制以防止滥用
  • 验证并清理所有用户输入
  • 为 Cookie 和会话采用安全的默认设置
日志记录
  • 使用标准库日志记录并输出结构化日志
  • 记录适当的信息,以便调试和监控
  • 避免记录敏感信息
  • 恰当使用日志级别
测试
  • 为处理程序和业务逻辑编写单元测试
  • 为 API 端点编写集成测试
  • 在适当情况下使用表驱动测试
  • 在测试中模拟外部依赖

评论

支持 Markdown