Categories
internet

Probando servicios REST con Rest-client

Una manera rápida y fácil de probar si un servicio REST funciona apropiadamente es hacer alguna petición de prueba. Para evitar tener que hacer un programa de test cada vez que lo necesitemos podemos hacer uso de la aplicación rest-client.

Usarla es tan sencillo como poner el tipo de petición (GET, POST…), la url del servicio y los parámetros necesarios. Luego pulsar el botón con las dos flechas verdes y en las pestañas de abajo podremos ver el resultado.

Para probarlo podéis poner esta url:

Categories
programación

Leer datos de internet (servicios REST, APIs, páginas web) desde java

Existen muchos ejemplos en la red de como llevar esto a cabo, pero muchos están en inglés y algunos desfasados, así que voy a exponer como llevar a cabo esta tarea usando la librería de apache HttpComponents a través de unos ejemplos en java.

El primer ejemplo obtendrá un fichero XML correspondiente al RSS de la página web barrapunto:

public static void main (String[] args){
      // Creación del objeto cliente que realizará las peticiones
      HttpClient httpclient = new DefaultHttpClient();
      // Creación del objeto petición
      HttpGet httpget = new HttpGet("http://barrapunto.com/index.rss");
      // Creación del objeto respuesta
      HttpResponse response;      
      try {
          // Ejecución de la petición y guardado de respuesta
          response = httpclient.execute(httpget);
          // Mostramos el resultado  de la petición
          System.out.println("Estado: "+response.getStatusLine().toString());
          // Leemos los datos de la respuesta
          HttpEntity entity = response.getEntity();
          // Si hay datos la petición se hizo correctamente y procedemos a mostrarlos
          if (entity != null) {
              InputStream instream = entity.getContent();
              String result= convertStreamToString(instream);
              System.out.println("Datos: "+result);
              instream.close();
          }

      } catch (ClientProtocolException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
}

El segundo ejemplo obtendrá datos de la página moneytrackin.com a través de su API haciendo uso de autentificación: