feat(middleware): 添加请求绑定与限流中间件
This commit is contained in:
1 parent
329a22f0b1
commit
4cec3f131a
9 files changed
+2017
No files matched your search
@@ -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)
|
||||
}
|
||||
Reference in new issue
Block a user