Encurtando links em Java usando o Migre.me
Uma pequena forma de como usar o Migre.me dentro de sua aplicação para encurtar URLs. A requisição é feita utilizando alguns componentes da especificação JAX-RS, utilizando o Jersey como implementação. Para fazer parser do JSON recebido, utilizamos o Jackson, o que deixa as coisas muito simples. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 package br.com.lucaspolo.json.teste; import java.net.URI; import java.net.URISyntaxException; import java.util.HashMap; import java.util.Map; import javax.naming.LimitExceededException; import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.Link; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.TypeReference; /** * @author lucaspolo * Classe de teste que faz a requisição do migre.me, encurta a URL e converte em um Hash. * A dica do parser para Map foi retirada de * {@link http://www.mkyong.com/java/how-to-convert-java-map-to-from-json-jackson/} * O POM com as dependencias do Maven para rodar este exemplo é este * {@link https://gist.github.com/lucaspolo/7a2a0ea33f3ce0c93975} */ public class App { public static void main( String[] args ) throws Exception { URI uri = new URI("http://migre.me/api.json?"); Client client = ClientBuilder.newClient(); WebTarget target = client.target(uri.toURL().toString()) .queryParam("url", "http://www.ocaminhodoprogramador.com.br"); String conteudo = target.request().get(String.class); System.out.println(conteudo); Map<String, String> map = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); map = mapper.readValue(conteudo, new TypeReference<HashMap<String, String>>() {}); System.out.println(map.get("migre")); } }