12345678910111213141516171819202122232425262728293031323334353637 |
- package middleware
- import (
- "bytes"
- "encoding/json"
- "io"
- "net/http"
- "ulink-admin/frame"
- "ulink-admin/utils"
- )
- const FAST_BODY_COLNUM = "fast_body_colnum"
- // 请求处理
- func Request() func(c *frame.Context) {
- return func(c *frame.Context) {
- if c.Request.Method == http.MethodPut || c.Request.Method == http.MethodPost {
- var bodyBytes []byte
- if c.Request.Body != nil {
- bodyBytes, _ = io.ReadAll(c.Request.Body)
- }
- var body map[string]interface{}
- json.Unmarshal(bodyBytes, &body)
- keys := make([]string, len(body))
- i := 0
- for k, _ := range body {
- keys[i] = utils.Camel2Case(k)
- i++
- }
- c.Set(FAST_BODY_COLNUM, keys)
- c.Request.Body = io.NopCloser(bytes.NewBuffer(bodyBytes))
- }
- // 处理请求
- c.Next()
- }
- }
|