下面是测试http请求的代码:
func TestAuthenticate(t *testing.T) {
api := &ApiResource{}
ws := new(restful.WebService)
ws.Consumes(restful.MIME_JSON, restful.MIME_XML)
ws.Produces(restful.MIME_JSON, restful.MIME_JSON)
ws.Route(ws.POST("/login").To(api.Authenticate))
restful.Add(ws)
bodyReader := strings.NewReader("<request><Username>42</Username><Password>adasddsa</Password><Channel>M</Channel></request>")
httpRequest, _ := http.NewRequest("POST", "/login", bodyReader)
// httpRequest.Header.Set("Content-Type", restful.MIME_JSON)
httpRequest.Header.Set("Content-Type", restful.MIME_XML)
httpWriter := httptest.NewRecorder()
restful.DefaultContainer.ServeHTTP(httpWriter, httpRequest)
}我尝试使用json作为字符串使用相同的NewReader,也尝试在json.Marshal中使用struct。
这两种都不管用。
是否有一种方法可以将bodyReader编码为http.NewRequest的有效的第三个参数
与JSON中的NewReader输入类似的请求如下:
bodyReader := strings.NewReader("{'Username': '12124', 'Password': 'testinasg', 'Channel': 'M'}")结构字段是:Username, Password, Channel
发布于 2014-10-12 04:18:57
JSON无效。JSON使用"来引用字符串,而不是'。
使用这一行代码创建请求主体:
bodyReader := strings.NewReader(`{"Username": "12124", "Password": "testinasg", "Channel": "M"}`)我使用原始字符串文字来避免引用JSON文本中的"。
https://stackoverflow.com/questions/26320896
复制相似问题