我有以下代码,我想以易于管理和易于理解的方式编写代码。
RestBuilder rest = new RestBuilder()
if (someoption()) {
rest = rest.post(someurl) {
contentType: application/json
json {
payload1: somepayload
payload2: somepayload1
}
}
}
else {
rest = rest.post(someurl) {
contentType: application/json
json {
payload4: somepayload4
}
}
}
if / else中唯一不同的是json有效负载。上面只显示了一个if / else,但是,在我的实际代码中我有多个。
有没有简单的方法来管理它?我在JSON闭包中尝试了puttind条件语句,但它没有工作
答案 0 :(得分:2)
以下是您可以使用的广义休息调用方法:
RestResponse rest(String method, String url, Closure jsonData = null) {
RestBuilder rest = new RestBuilder()
rest."$method"(url) {
contentType: "application/json"
if (jsonData) {
json {
jsonData.delegate = delegate
jsonData()
}
}
}
}
你可以用
来调用它RestResponse response
if (someoption()) {
response = rest('post', someurl) {
payload1: somepayload
payload2: somepayload1
}
}
else {
response = rest('post', someurl) {
payload4: somepayload4
}
}
或
def json
if (someoption()) {
json = {
payload1: somepayload
payload2: somepayload1
}
}
else {
json = {
payload4: somepayload4
}
}
RestResponse response = rest('post', someurl, json)