|
|
@@ -138,6 +138,13 @@ func (c *Context) GetJsonBody() (*JsonBody, error) {
|
|
|
return nil, err
|
|
|
}
|
|
|
|
|
|
+ if bytesBody == nil || len(bytesBody) == 0 {
|
|
|
+ return &JsonBody{
|
|
|
+ c: c,
|
|
|
+ jsonBodyMap: make(map[string]any),
|
|
|
+ }, nil
|
|
|
+ }
|
|
|
+
|
|
|
jsonBodyMap := make(map[string]any)
|
|
|
err = json.Unmarshal(bytesBody, &jsonBodyMap)
|
|
|
if err != nil {
|
|
|
@@ -155,6 +162,14 @@ func (c *Context) GetJsonBody() (*JsonBody, error) {
|
|
|
switch b := body.(type) {
|
|
|
case []byte:
|
|
|
jsonBodyMap := make(map[string]any)
|
|
|
+
|
|
|
+ if b == nil || len(b) == 0 {
|
|
|
+ return &JsonBody{
|
|
|
+ c: c,
|
|
|
+ jsonBodyMap: jsonBodyMap,
|
|
|
+ }, nil
|
|
|
+ }
|
|
|
+
|
|
|
err := json.Unmarshal(b, &jsonBodyMap)
|
|
|
if err != nil {
|
|
|
return nil, errors.New(err.Error())
|
|
|
@@ -407,6 +422,13 @@ func (jsonBody *JsonBody) Reload() error {
|
|
|
}
|
|
|
|
|
|
jsonBodyMap := make(map[string]any)
|
|
|
+
|
|
|
+ if bytesBody == nil || len(bytesBody) == 0 {
|
|
|
+ jsonBody.c.Set(bodyKey, jsonBodyMap)
|
|
|
+ jsonBody.jsonBodyMap = jsonBodyMap
|
|
|
+ return nil
|
|
|
+ }
|
|
|
+
|
|
|
err = json.Unmarshal(bytesBody, &jsonBodyMap)
|
|
|
if err != nil {
|
|
|
return errors.New(err.Error())
|
|
|
@@ -445,6 +467,15 @@ func (jsonBody *JsonBody) Get(key string) any {
|
|
|
return jsonBody.jsonBodyMap[key]
|
|
|
}
|
|
|
|
|
|
+// SetMap 使用map设置JsonBody
|
|
|
+// 参数:
|
|
|
+// - mapBody: map表示的body
|
|
|
+// 返回值: 无
|
|
|
+func (jsonBody *JsonBody) SetMap(mapBody map[string]any) {
|
|
|
+ jsonBody.jsonBodyMap = mapBody
|
|
|
+ jsonBody.c.Set(bodyKey, jsonBody.jsonBodyMap)
|
|
|
+}
|
|
|
+
|
|
|
// Map 获取JsonBody的map表示
|
|
|
// 参数: 无
|
|
|
// 返回值:
|
|
|
@@ -458,6 +489,10 @@ func (jsonBody *JsonBody) Map() map[string]any {
|
|
|
// 返回值:
|
|
|
// - JsonBody的内容
|
|
|
func (jsonBody *JsonBody) Bytes() ([]byte, error) {
|
|
|
+ if jsonBody.jsonBodyMap == nil || len(jsonBody.jsonBodyMap) == 0 {
|
|
|
+ return make([]byte, 0), nil
|
|
|
+ }
|
|
|
+
|
|
|
jsonBytes, err := json.Marshal(jsonBody.jsonBodyMap)
|
|
|
if err != nil {
|
|
|
return nil, errors.New(err.Error())
|
|
|
@@ -466,15 +501,6 @@ func (jsonBody *JsonBody) Bytes() ([]byte, error) {
|
|
|
return jsonBytes, nil
|
|
|
}
|
|
|
|
|
|
-// SetMapBody 将JsonBody的内容Unmarshal到output
|
|
|
-// 参数:
|
|
|
-// - mapBody: map表示的body
|
|
|
-// 返回值: 无
|
|
|
-func (jsonBody *JsonBody) SetMapBody(mapBody map[string]any) {
|
|
|
- jsonBody.jsonBodyMap = mapBody
|
|
|
- jsonBody.c.Set(bodyKey, jsonBody.jsonBodyMap)
|
|
|
-}
|
|
|
-
|
|
|
// Unmarshal 将JsonBody的内容Unmarshal到output
|
|
|
// 参数:
|
|
|
// - output: 输出,一般为结构指针或map[string]any指针
|
|
|
@@ -486,6 +512,10 @@ func (jsonBody *JsonBody) Unmarshal(output any) error {
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
+ if jsonBytes == nil || len(jsonBytes) == 0 {
|
|
|
+ return nil
|
|
|
+ }
|
|
|
+
|
|
|
err = json.Unmarshal(jsonBytes, output)
|
|
|
if err != nil {
|
|
|
return errors.New(err.Error())
|
|
|
@@ -536,6 +566,15 @@ func (queryParams *QueryPrams) Get(key string) string {
|
|
|
return queryParams.queryParams[key]
|
|
|
}
|
|
|
|
|
|
+// SetMap 使用map设置查询参数
|
|
|
+// 参数:
|
|
|
+// - mapQueryParams: map表示的查询参数
|
|
|
+// 返回值: 无
|
|
|
+func (queryParams *QueryPrams) SetMap(mapQueryParams map[string]string) {
|
|
|
+ queryParams.queryParams = mapQueryParams
|
|
|
+ queryParams.c.Set(queryParamsKey, queryParams.queryParams)
|
|
|
+}
|
|
|
+
|
|
|
// Map 获取查询参数的map表示
|
|
|
// 参数: 无
|
|
|
// 返回值:
|
|
|
@@ -586,6 +625,15 @@ func (pathParams *PathPrams) Get(key string) string {
|
|
|
return pathParams.pathParams[key]
|
|
|
}
|
|
|
|
|
|
+// SetMap 使用map设置路径参数
|
|
|
+// 参数:
|
|
|
+// - mapPathParams: map表示的路径参数
|
|
|
+// 返回值: 无
|
|
|
+func (pathParams *PathPrams) SetMap(mapPathParams map[string]string) {
|
|
|
+ pathParams.pathParams = mapPathParams
|
|
|
+ pathParams.c.Set(pathParamsKey, pathParams.pathParams)
|
|
|
+}
|
|
|
+
|
|
|
// Map 获取路径参数的map表示
|
|
|
// 参数: 无
|
|
|
// 返回值:
|