Commit 497fdba3 by creamlike1024

fix: 优化 ImageRequest 的 JSON 序列化,避免覆盖合并 ExtraFields

parent 451076fa
...@@ -64,20 +64,22 @@ func (r ImageRequest) MarshalJSON() ([]byte, error) { ...@@ -64,20 +64,22 @@ func (r ImageRequest) MarshalJSON() ([]byte, error) {
// 将已定义字段转为 map // 将已定义字段转为 map
type Alias ImageRequest type Alias ImageRequest
alias := Alias(r) alias := Alias(r)
base, err := json.Marshal(alias) base, err := common.Marshal(alias)
if err != nil { if err != nil {
return nil, err return nil, err
} }
var baseMap map[string]json.RawMessage var baseMap map[string]json.RawMessage
if err := json.Unmarshal(base, &baseMap); err != nil { if err := common.Unmarshal(base, &baseMap); err != nil {
return nil, err return nil, err
} }
// 合并 ExtraFields // 合并 ExtraFields
for k, v := range r.Extra { for k, v := range r.Extra {
if _, exists := baseMap[k]; !exists {
baseMap[k] = v baseMap[k] = v
} }
}
return json.Marshal(baseMap) return json.Marshal(baseMap)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment