【发布时间】:2017-02-09 11:27:21
【问题描述】:
我正在尝试使用我的 grails 项目中的 Web 服务。我正在使用 httpbuilder 0.7.2。下面是我的 http 客户端。
static def webServiceRequest(String baseUrl, String path, def data,method=Method.GET,contentType=ContentType.JSON){
def ret = null
def http = new HTTPBuilder(baseUrl)
http.request(method, contentType) {
uri.path = path
requestContentType = ContentType.URLENC
if(method==Method.GET)
uri.query = data
else
body = data
headers.'User-Agent' = 'Mozilla/5.0 Ubuntu/8.10 Firefox/3.0.4'
response.success = { resp, json ->
println "response status: ${resp.statusLine}"
ret = json
println '--------------------'
}
}
return ret
}
当我试图发送这样的东西时,问题就来了:
def input = [:]
input['indexArray'] = [1,5]
api调用
def response = webServiceRequest(url,uri,input,Method.POST)
当我在我的服务器中打印发布数据的值时,它只显示列表的最后一个值。
{"indexArray":"5"}
它应该同时显示 1 和 5
【问题讨论】:
-
你为什么用
ContentType.URLENC而不是ContentType.JSON? -
没有这个,服务器什么也收不到
标签: grails groovy httpclient httpbuilder