From 41f2436f9fdebabf80704bbd50fae206781cba82 Mon Sep 17 00:00:00 2001 From: jjxu <428192774@qq.com> Date: Thu, 27 Jul 2023 13:40:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simpleRequest.go | 2 +- simpleRequest_test.go | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/simpleRequest.go b/simpleRequest.go index 9fb9742..c32c19f 100644 --- a/simpleRequest.go +++ b/simpleRequest.go @@ -189,7 +189,7 @@ func (s *SimpleRequest) LaunchTo(urls, method string) (body []byte, err error) { values, err := url.ParseQuery(r.URL.RawQuery) if err == nil { newValues := url.Values{} - for k := range s.queryParams { + for k := range values { newValues.Set(k, values.Get(k)) } for k := range s.queryParams { diff --git a/simpleRequest_test.go b/simpleRequest_test.go index 314a296..be60c56 100644 --- a/simpleRequest_test.go +++ b/simpleRequest_test.go @@ -84,3 +84,22 @@ func TestPost_withSetModel(t *testing.T) { t.Log(string(result)) } } + +// url中的query param字符串参数会被r.QueryParams()中的key值覆盖 +func TestQueryUrl2(t *testing.T) { + go httpserver() + + var r = NewRequest() + r.Headers().ConentType_formUrlencoded() + r.QueryParams().Set("a", "123") + r.QueryParams().Set("b", "456") + _, err := r.POST("http://localhost:8989?a=1&b=2&c=3") + if err != nil { + t.Error(err.Error()) + } else { + if r.Request.URL.RawQuery != "a=123&b=456&c=3" { + t.Errorf("query params wangt '%s' but get '%s'", "a=123&b=456&c=3", r.Request.URL.RawQuery) + } + } + +}