HTTP GET Request In Groovy Grails
Posted By : Manish Kumar Narang | 31-Dec-2017
Recently while working on a project, I had to make an HTTP GET call with parameters to a different server from the backend side. There is not much data available online to guide on this issue. But after doing some search, I got to know about the HTTPBuilder library through which these actions can be performed.
To begin with, we need to first install the HTTPBuilder library. This itself became a task because i had some trouble in trying to install it. There are various modules available online but the one which worked for me is - 'org.codehaus.groovy.modules.http-builder:http-builder:0.7'. It is important to mention here that I am working with grails 2.2.4, Maybe different modules work for different versions.
So, to install HTTPBuilder library, we need to update the BuildConfig.groovy file -
dependencies {
compile "org.codehaus.groovy.modules.http-builder:http-builder:0.7"
}
Now suppose, i want to make this call -
http://myApp.com/getData?param1=something¶m2=something
We can accomplish this from ther server side by writing this simple piece of code -
import groovyx.net.http.HTTPBuilder
try{
def http = new HTTPBuilder('http://www.myApp.com')
http.get( path : '/getData', query : [param1:something,param2: something] )
{ resp ->
jsonResp = resp.entity.content.text
println jsonResp
}
}
catch(groovyx.net.http.HttpResponseException e){
println e.toString()
}
Please note how the query parameters are passed. The closure 'resp.entity.content.text' gives you the raw response. If the response is in the form of JSON then the closure directly gives you a map of it which can used directly.
Cookies are important to the proper functioning of a site. To improve your experience, we use cookies to remember log-in details and provide secure log-in, collect statistics to optimize site functionality, and deliver content tailored to your interests. Click Agree and Proceed to accept cookies and go directly to the site or click on View Cookie Settings to see detailed descriptions of the types of cookies and choose whether to accept certain cookies while on the site.
About Author
Manish Kumar Narang
Manish Narang has skills in software development and is enthusiastic about web applications and loves to work in a team.