Skip to content

Commit 9fe4e42

Browse files
committed
feat(modelconfig): add support for embedded struct fields with inline json tags
Signed-off-by: Tomas Dabašinskas <[email protected]>
1 parent 91dae1b commit 9fe4e42

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

go/internal/httpserver/handlers/modelconfig.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,13 @@ func getStructJSONKeys(structType reflect.Type) []string {
168168
for i := 0; i < structType.NumField(); i++ {
169169
field := structType.Field(i)
170170
jsonTag := field.Tag.Get("json")
171-
if jsonTag != "" && jsonTag != "-" {
171+
172+
// Handle embedded structs (anonymous fields) with json:",inline"
173+
if field.Anonymous && strings.Contains(jsonTag, "inline") {
174+
// Recursively get keys from embedded struct
175+
embeddedKeys := getStructJSONKeys(field.Type)
176+
keys = append(keys, embeddedKeys...)
177+
} else if jsonTag != "" && jsonTag != "-" {
172178
tagParts := strings.Split(jsonTag, ",")
173179
keys = append(keys, tagParts[0])
174180
}

0 commit comments

Comments
 (0)