我知道如何使用Apache HTTP库或其他传统的java方式发送带有JSON有效负载的HTTP POST。但是,有没有更流行或实际上 grooviest 的方式在grails中这样做?
我想要一个简单的解决方案,最少的代码行(=美丽的groovy / grails)。
修改 我不想使用任何第三方库。我正在寻找纯粹的grails方法来做到这一点。 http post也应该是同步的(阻塞)而不是异步的。
答案 0 :(得分:2)
HttpBuilder具有表现力和强大/可扩展性
new HTTPBuilder(queryUrl).request(Method.POST, ContentType.JSON){
body = payload
response.success = { streamResponse, reader ->
result = reader.readLines().join()
}
}
答案 1 :(得分:2)
您可以使用Jodd。 E.g:
def response = HttpRequest
.post('http://srv:8080/api/jsonws/user/get-user-by-id')
.form('userId', '10194')
.send()
发送JSON:
def resourcePost = request().
method(POST.toString()).
path('http://some.url.com/api').
body('{"value":1}').
send()