0
私はgrailsプロジェクトからWebサービスを利用しようとしています。私はhttpbuilder 0.7.2を使用しています。以下は私のhttpクライアントです。Groovy httpbuilder投稿リストのパラメータ
私はこのような何かに送信しようとしていたときに問題が来ている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"}
あなたはContentTypeをアプリケーション/ x-www-form-urlencodedでを使用してJSONデータを送信する場合は、両方の1および5
なぜ「ContentType.JSON」ではなく「ContentType.URLENC」を使用していますか? –
これがなければ、サーバーは何も受信していません –