使用 Go 和 Gin 框架构建一个博客系统的后端 REST API,支持用户和文章的 CRUD 操作及 JWT 认证。
POST /api/users/register - 请求体 {"username", "password", "email"}。密码需哈希加密。POST /api/users/login - 请求体 {"username", "password"}。成功后返回 JWT。GET /api/users/:id - 返回指定用户信息(无密码)。PUT /api/users/:id - 需 JWT 认证,仅限用户本人。POST /api/posts - 需 JWT 认证。请求体 {"title", "content", "author_id"}。GET /api/posts - 支持分页。GET /api/posts/:id。PUT /api/posts/:id - 需 JWT 认证,仅限作者。DELETE /api/posts/:id - 需 JWT 认证,仅限作者或管理员。golang-jwt/jwt)bcrypt/goblog
├── /cmd/server/main.go # 入口
├── /internal/
│ ├── /api # Handlers, 路由, 中间件
│ ├── /core # Models, Services (业务逻辑)
│ ├── /platform # 数据库, 认证
│ └── /config # 配置加载
├── go.mod
└── config.yaml
config.yaml 并用 Viper 加载数据库和 JWT 设置。users 和 posts 表结构,编写迁移脚本或使用 GORM AutoMigrate。User 和 Post 的 Go struct。先行任务: 整理详细的开发计划和接口文档。