如何使用Groovy / Java中的URL执行简单请求?

时间:2014-07-01 20:53:59

标签: groovy httpbuilder

我在groovy中有以下代码:

def http = new HTTPBuilder( 'http://localhost:8080' )
http.post( path: '/this/is/my/path/'+variable) { resp ->
   println "POST Success: ${resp.statusLine}"
   assert resp.statusLine.statusCode == 200
}

我只想执行该请求。我在另一个应用程序中有一个方法,当该URL中有请求时,我看到了一个结果。问题是我什么也看不见。

可能是什么问题?

2 个答案:

答案 0 :(得分:0)

最有可能的情况是,您的应用仅响应GET请求,而不响应POST请求。请尝试GET

def http = new HTTPBuilder( 'http://localhost:8080' )
http.get( path: '/this/is/my/path/'+variable) { resp ->
    println "GET Success: ${resp.statusLine}"
    assert resp.statusLine.statusCode == 200
}

此外,您确定您希望此URL处的HTTP状态为201(已创建)吗?

答案 1 :(得分:0)

可以尝试像这样打开一个简单的HttpURLConnection

URL url = new URL("http://localhost:8080/this/is/my/path/${variable}")
HttpURLConnection connection = url.openConnection()
println "responseCode: ${connection.responseCode}" 
assert connection.responseCode == 200