darkit-ginlisted
Install: claude install-skill aiskillstore/marketplace
# Darkit Gin Framework 技能
## 适用场景
- 构建企业级 RESTful API 服务
- 需要快速集成 JWT 认证和授权系统
- 实现服务器发送事件(SSE)实时通信
- 自动生成 OpenAPI 3.0 规范和 Swagger UI
- 需要内置缓存系统提升性能
- 要求统一的 API 响应格式
- 从 gin-gonic/gin 迁移并增强功能
## 操作流程
### 1. 快速开始
```go
// 使用选项式 API 创建路由器(推荐)
router := gin.NewRouter(
gin.WithGinMode("debug"),
gin.WithJWT("your-secret-key"),
gin.WithCache(&cache.Config{
TTL: 30 * time.Minute,
}),
gin.WithCORS("http://localhost:3000"),
gin.WithRateLimit(100), // 100 次/分钟
gin.WithRequestID(),
)
// 自动添加健康检查和监控端点
router.Health() // GET /health
router.Metrics() // GET /metrics
// 启动服务器
router.Run(":8080")
```
### 2. 定义路由
```go
// 基础路由
router.GET("/ping", func(c *gin.Context) {
c.Success("pong") // 统一成功响应
})
// CRUD 资源路由(编译期类型安全)
type UserResource struct{}
func (u *UserResource) Index(c *gin.Context) { /* 列表 */ }
func (u *UserResource) Show(c *gin.Context) { /* 详情 */ }
func (u *UserResource) Create(c *gin.Context) { /* 创建 */ }
func (u *UserResource) Update(c *gin.Context) { /* 更新 */ }
func (u *UserResource) Delete(c *gin.Context) { /* 删除 */ }
router.CRUD("users", &UserResource{})
// API 版本管理
v1 := router.API("v1") // /api/v1
v2 := router.API("v2") // /api/v2
```
### 3. 便捷响应方法
```go
// 成功响应
c.Success(data) // 200
c.Created(newUser) // 201
c.Accepted("任务已提交") // 202
c.NoContent() // 204
// 错误响应
c.Fail("余额不足") // 400
c.ValidationError(errors) // 400
c.Unauthorized("请先登录") // 4