在Grails

时间:2015-09-21 15:26:02

标签: rest grails groovy

我知道如何使用Apache HTTP库或其他传统的java方式发送带有JSON有效负载的HTTP POST。但是,有没有更流行或实际上 grooviest 的方式在grails中这样做?

我想要一个简单的解决方案,最少的代码行(=美丽的groovy / grails)。

修改 我不想使用任何第三方库。我正在寻找纯粹的grails方法来做到这一点。 http post也应该是同步的(阻塞)而不是异步的。

2 个答案:

答案 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()