diff --git a/parser.go b/parser.go index 2e5060a..cfce95d 100644 --- a/parser.go +++ b/parser.go @@ -32,12 +32,11 @@ func (JsonParser) Unmarshal(bodyType EntryMark, BodyEntry map[string]any) io.Rea case BytesEntryType: return bytes.NewReader(BodyEntry[BytesEntryType.string()].([]byte)) case ModelEntryType: - jsonData, err := json.Marshal(BodyEntry[BytesEntryType.string()]) + jsonData, err := json.Marshal(BodyEntry[ModelEntryType.string()]) if err == nil { return bytes.NewReader(jsonData) - } else { - return strings.NewReader("{}") } + return strings.NewReader("{}") case MapEntryType: jsonData, err := json.Marshal(BodyEntry) if err == nil { @@ -81,7 +80,7 @@ func (f *FormDataParser) Unmarshal(bodyType EntryMark, BodyEntry map[string]any) return strings.NewReader(BodyEntry[StringEntryType.string()].(string)) case BytesEntryType: f.ContentType = formDataType - return bytes.NewReader(BodyEntry[StringEntryType.string()].([]byte)) + return bytes.NewReader(BodyEntry[BytesEntryType.string()].([]byte)) default: body, f.ContentType = multipartCommonParse(BodyEntry) } diff --git a/simpleRequest_test.go b/simpleRequest_test.go index 40648b2..f98d023 100644 --- a/simpleRequest_test.go +++ b/simpleRequest_test.go @@ -67,3 +67,20 @@ func TestPost_withSets(t *testing.T) { t.Log(string(result)) } } + +func TestPost_withSetModel(t *testing.T) { + go httpserver() + + var r = NewRequest() + r.Headers().ConentType_json() + var entry = api{ + Name: "JJXu", + } + r.Body().SetModel(&entry) + result, err := r.POST("http://localhost:8989/") + if err != nil { + t.Error(err.Error()) + } else { + t.Log(string(result)) + } +}