I have this code snippet which will call an API and return a list of Users in List format:
return http.request(Method.GET, ContentType.JSON) {
uri.path = USERS_ENDPOINT
} as List<Map>
That example will work perfectly if there is no problem with the API. Now I want to handle the case where this API returns an error (such as 401, 500):
I have tried this but it does not work:
http.request(Method.GET, ContentType.JSON) {
uri.path = USERS_ENDPOINT
response.success { res, reader ->
return reader as List<Map>
}
response.failed {
// do somthing here, a logging for example
log.warn "Failed"
}
}
// the next statement I want to execute after the API call has been failed
Any idea on this?
Hi Ryker,
You can try something like below:
def http = new HTTPBuilder('http://localhost:XXXX/rest/scriptrunner/latest/custom/getCurrentUser')
def test = http.request(Method.GET, ContentType.JSON) {
uri.path = "/rest/scriptrunner/latest/custom/getCurrentUser"
response.success = { res, reader ->
//return reader as List<Map>
log.warn("Success!" )
}
response.failure = { resp, reader ->
// do somthing here, a logging for example
log.warn("Failed!" )
}
}
return test
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.