试用 HttpBuilder-NG - 替换旧的 HttpBuilder 或 wslite
Trying out HttpBuilder-NG - replacing old HttpBuilder or wslite
我正在尝试切换到 HttpBuilder-NG,但遇到了一些困难。我似乎找不到任何使用响应 headers 甚至响应状态代码的具体示例。使用旧的 httpbuilder - 具体来说是 RESTClient 非常简单。另外,我用它来测试。
这是我需要翻译成 HttpBuilder-NG
的一个示例
def r = client.get(path: '/ws/v1/ping')
assert r.status == 200
在 HttpBuilder-NG 中看起来像什么?
你的评论让我走上了正轨。谢谢!我希望通过在 HttpBuilder-NG 周围制作一个包装器 class 来避免重写数千行测试代码,这样它将 return objects 类似于旧的 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'
有一个很好的 user guide 有很多例子。
您的示例可以通过多种方式完成,其中之一是:
HttpBuilder.configure {
request.uri = '<YOUR_SERVER>'
}.get {
request.uri.path = '/ws/v1/ping'
response.when(200){
// ...
}
}
有关 类 和引用方法的更多详细信息,请参阅 JavaDocs。
我正在尝试切换到 HttpBuilder-NG,但遇到了一些困难。我似乎找不到任何使用响应 headers 甚至响应状态代码的具体示例。使用旧的 httpbuilder - 具体来说是 RESTClient 非常简单。另外,我用它来测试。 这是我需要翻译成 HttpBuilder-NG
的一个示例def r = client.get(path: '/ws/v1/ping')
assert r.status == 200
在 HttpBuilder-NG 中看起来像什么?
你的评论让我走上了正轨。谢谢!我希望通过在 HttpBuilder-NG 周围制作一个包装器 class 来避免重写数千行测试代码,这样它将 return objects 类似于旧的 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'
有一个很好的 user guide 有很多例子。
您的示例可以通过多种方式完成,其中之一是:
HttpBuilder.configure {
request.uri = '<YOUR_SERVER>'
}.get {
request.uri.path = '/ws/v1/ping'
response.when(200){
// ...
}
}
有关 类 和引用方法的更多详细信息,请参阅 JavaDocs。