Consumindo um serviço Rest via backend
13/05/2015 16:20
0
e ai pessoal,

gostaria de saber se há algum meio de utilizar o próprio grails para consumir web services (Restful). Estava procurando alguma solução que não precisasse utilizar plugins ou gambiarras hehehe

alguém conhece alguma boa solução?
Tags: Web Services; Rest


1
Celso

Eu não sei se é bem o que você está procurando mas você consegue criar uma service e utilizar a classe HttpBuilder() para consumir o webservice. Segue exemplo utilizado para  buscar a latitude e longitude de um endereço consultando a api do Bing

class EnderecoService {
         def grailsApplication
def geocode(String logradouro, String numero, String cep, String cidade, String estado) {
String bingApiKey = grailsApplication.config.bing.apiKey.toString()
def result
//Busca de Latitude e Longitude
def server = "http://dev.virtualearth.net"
def uriPath = "/REST/v1/Locations"
def query = [:]
query['countryRegion'] = "BR"
query['includeNeighborhood'] = "0"
query['maxResults'] = "1"
query['key'] = bingApiKey
if (estado != null) {
query['adminDistrict'] = estado
}
if (cidade != null) {
query['locality'] = cidade
}
if (logradouro != null) {
query['addressLine'] = logradouro + ' ' + numero
}
if (cep != null) {
query['postalCode'] = cep
}
def http = new HTTPBuilder()
http.request(server, GET, JSON) { req ->
uri.path = uriPath
uri.query = query
headers.Accept = 'application/json'
response.success = { resp, reader ->
if (reader != null && !reader.empty) {
def coordinates = reader.resourceSets.resources?.point?.coordinates[0][0]
if (coordinates != null && !coordinates.empty) {
result = [latitude : coordinates[0], longitude: coordinates[1]]
}
}
}
response.failure = { resp ->
//tratar erro
}
}
return result
}
}
13/05/2015 21:53


0
Utilizei essa mesma solução. O meu problema é que eu não estava conseugindo importar o httpBuilder.
Por algum motivo o gradle não havia sincronizado.

Agora está tudo ok!

Obrigado Antonio
20/05/2015 21:08



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto