feat(middleware): 添加请求绑定与限流中间件

This commit is contained in:
unclesam committed 2026-07-07 21:23:40 +08:00
1 parent 329a22f0b1
commit 4cec3f131a
9 files changed
+2017

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
package middleware
import (
"EnGin/internal/utils/res"
"github.com/gin-gonic/gin"
)
func BindJsonMiddleware[T any](c *gin.Context) {
var cr T
err := c.ShouldBindJSON(&cr)
if err != nil {
res.FailWithError(err, c)
c.Abort()
return
}
c.Set("request", cr)
}
func BindQueryMiddleware[T any](c *gin.Context) {
var cr T
err := c.ShouldBindQuery(&cr)
if err != nil {
res.FailWithError(err, c)
c.Abort()
return
}
c.Set("request", cr)
}
func BindUriMiddleware[T any](c *gin.Context) {
var cr T
err := c.ShouldBindUri(&cr)
if err != nil {
res.FailWithError(err, c)
c.Abort()
return
}
c.Set("request", cr)
}
func GetBind[T any](c *gin.Context) (cr T) {
return c.MustGet("request").(T)
}