Abstract
This code snippet is a subset of specialization of the Code snippet to make an HTTP call and request data. It accesses a REST API, and thus requests JSON data and returns the parsed data through a Groovy script written in the Groovy editor of the add-on.
Logic
- Import the HTTPBuilder, GET request methods and the JSON content type method.
- Access the REST API by creating a new HTTP instance.
- Request the JSON data passing the method as GET, the content type as JSON, and the request configuration closure to the request method.
- Return the parsed JSON data from the response.
Snippet
Code Block |
---|
language | groovy |
---|
linenumbers | true |
---|
|
import groovyx.net.http.HTTPBuilder
import static groovyx.net.http.Method.GET
import static groovyx.net.http.ContentType.JSON
// initialize a new builder and give a default URL
def http = new HTTPBuilder("<URL>")
def data = http.request(GET,JSON) { req ->
response.success = { resp, jsonData ->
assert resp.status == 200
return jsonData
}
// called only for a 404 (not found) status code:
response."404" = { resp ->
log.error ("Not found")
return null
}
}
if (data) {
// do something with the returned data
} |
Placeholders
...
Example
The outcome of the code snippet is JSON data. You could use this code, for example, to get a specific currency conversion rate.
Code Block |
---|
import groovyx.net.http.HTTPBuilder
import static groovyx.net.http.Method.GET
import static groovyx.net.http.ContentType.JSON
// initialize a new builder and give a default URL
def http = new HTTPBuilder("http://free.currencyconverterapi.com/api/v5/convert?q=EUR_USD&compact=y")
return http.request(GET,JSON) { req ->
response.success = { resp, jsonData ->
assert resp.status == 200
if(jsonData){
return jsonData.get("EUR_USD").val
}
else{
log.warn("No data returned")
return null
}
}
// called only for a 404 (not found) status code:
response."404" = { resp ->
log.error ("Not found")
return null
}
} |
...
Filter by label (Content by label) |
---|
showLabels | false |
---|
max | 5 |
---|
spaces | KB |
---|
showSpace | false |
---|
sort | modified |
---|
reverse | true |
---|
type | page |
---|
cql | label = "jmwe-server" and type = "page" and space = "KBJMWE" |
---|
labels | jmwe-nunjucks jmwe-cloud |
---|
|
...