| 1234567891011121314151617181920212223242526 |
- package common
- import (
- "bytes"
- "encoding/json"
- "github.com/gin-gonic/gin"
- "io"
- )
- func UnmarshalBodyReusable(c *gin.Context, v any) error {
- requestBody, err := io.ReadAll(c.Request.Body)
- if err != nil {
- return err
- }
- err = c.Request.Body.Close()
- if err != nil {
- return err
- }
- err = json.Unmarshal(requestBody, &v)
- if err != nil {
- return err
- }
- // Reset request body
- c.Request.Body = io.NopCloser(bytes.NewBuffer(requestBody))
- return nil
- }
|