调整路由以符合 RESTful 规范,新增 API Token 撤销功能

This commit is contained in:
2026-01-14 10:13:57 +08:00
parent 9c10dfd496
commit 5160ae78cc
10 changed files with 658 additions and 536 deletions

22
main.go
View File

@@ -69,11 +69,16 @@ func main() {
api := r.Group("/api")
{
api.POST("/upload", uploadHandler.Upload)
api.POST("/upload/text", uploadHandler.UploadText)
api.GET("/pickup/:pickup_code", middleware.PickupRateLimit(), pickupHandler.Pickup)
api.GET("/download/file/:file_id", pickupHandler.DownloadFile)
api.GET("/download/batch/:pickup_code", pickupHandler.DownloadBatch)
// 统一使用 /batches 作为资源路径
api.POST("/batches", uploadHandler.Upload)
api.POST("/batches/text", uploadHandler.UploadText)
api.GET("/batches/:pickup_code", middleware.PickupRateLimit(), pickupHandler.Pickup)
api.GET("/batches/:pickup_code/download", pickupHandler.DownloadBatch)
// 文件下载保持 /files/:id/download 风格
api.GET("/files/:file_id/download", pickupHandler.DownloadFile)
// 保持旧路由兼容性 (可选,但为了平滑过渡通常建议保留一段时间或直接更新)
// 这里根据需求“调整不符合规范的”,我将直接采用新路由
}
// 管理员接口
@@ -87,13 +92,14 @@ func main() {
adm.Use(middleware.AdminAuth())
{
adm.GET("/batches", batchHandler.ListBatches)
adm.GET("/batch/:batch_id", batchHandler.GetBatch)
adm.PUT("/batch/:batch_id", batchHandler.UpdateBatch)
adm.DELETE("/batch/:batch_id", batchHandler.DeleteBatch)
adm.GET("/batches/:batch_id", batchHandler.GetBatch)
adm.PUT("/batches/:batch_id", batchHandler.UpdateBatch)
adm.DELETE("/batches/:batch_id", batchHandler.DeleteBatch)
adm.GET("/api-tokens", tokenHandler.ListTokens)
adm.POST("/api-tokens", tokenHandler.CreateToken)
adm.DELETE("/api-tokens/:id", tokenHandler.DeleteToken)
adm.POST("/api-tokens/:id/revoke", tokenHandler.RevokeToken)
}
// 5. 运行