尝试HttpBuilder-NG - 替换旧的HttpBuilder或wslite

时间:2018-01-24 00:20:58

标签: groovy httpbuilder-ng

我正在尝试切换到HttpBuilder-NG,但是遇到了一些困难。我似乎无法找到使用响应头甚至响应状态代码的任何具体示例。旧的httpbuilder - RESTClient是特定的,这简直太简单了。另外,我用它来测试。 这是我需要翻译成HttpBuilder-NG的一个例子

def r = client.get(path: '/ws/v1/ping')
assert r.status == 200

在HttpBuilder-NG中看起来像什么?

你的评论让我走上正轨。谢谢!我希望通过在HttpBuilder-NG周围创建一个包装类来避免重写数千行测试代码,这样它将返回类似于旧的HttpBuilder / RESTClient的对象。此外,类似的东西可以帮助那些试图摆脱wslite的人。这是我到目前为止所提出的,以防它对其他人有帮助:

def client = HttpBuilder.configure {
             request.uri = 'https://myServer.server.org'
             request.auth.basic 'user1', 'fakePass1'
             ignoreSslIssues execution
             }
//use the client to make hit the ping endpoint
def r = client.get {
             request.uri.path = path+'ping'
             response.success {FromServer fs, body ->
                        [status: fs.statusCode,
                         headers: fs.headers,
                         data: body
                        ]
             }
        }
assert r.status == 200
assert r.headers.size() > 0
assert r.data[0] == 'pong'

1 个答案:

答案 0 :(得分:0)

有一个很好的user guide有很多例子。

您的示例可以通过多种方式完成,其中一种方式是:

HttpBuilder.configure { 
    request.uri = '<YOUR_SERVER>'
}.get {
    request.uri.path = '/ws/v1/ping'
    response.when(200){
        // ...
    }
}

有关所引用的类和方法的更多详细信息,请参阅JavaDocs