{"id":13744,"date":"2022-08-26T12:50:18","date_gmt":"2022-08-26T10:50:18","guid":{"rendered":"https:\/\/www.espai.es\/blog\/?p=13744"},"modified":"2022-08-30T16:07:13","modified_gmt":"2022-08-30T14:07:13","slug":"apis-en-java","status":"publish","type":"post","link":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/","title":{"rendered":"Uso de APIs en Java"},"content":{"rendered":"<h2>Uso de APIs en Java<\/h2>\n<h2><strong>\u00bfQu\u00e9 es una API?<\/strong><\/h2>\n<p>El t\u00e9rmino <strong>API<\/strong> es una abreviatura de Application Programming Interfaces, que en espa\u00f1ol significa interfaz de programaci\u00f3n de aplicaciones. Se trata de un conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar el software de las aplicaciones, permitiendo la comunicaci\u00f3n entre dos aplicaciones de software a trav\u00e9s de un conjunto de reglas. El uso de Apis en java u otros lenguajes de programaci\u00f3n, est\u00e1 siendo muy demandado hoy en d\u00eda.<\/p>\n<p>As\u00ed pues, podemos hablar de una API como una especificaci\u00f3n formal que establece c\u00f3mo un m\u00f3dulo de un software se <strong>comunica<\/strong> o interact\u00faa con otro para cumplir una o muchas funciones. Todo dependiendo de las aplicaciones que las vayan a utilizar, y de los permisos que les d\u00e9 el propietario de la API a los desarrolladores de terceros.<\/p>\n<h3>Algunos ejemplos de APIS:<\/h3>\n<ul>\n<li>Aplicaci\u00f3n del tiempo<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/1_Tiempo.png\" rel=\"attachment wp-att-13749\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13749\" src=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/1_Tiempo.png\" alt=\"Api de ElTiempo, aplicaci\u00f3n de Windows\" width=\"561\" height=\"322\" srcset=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/1_Tiempo.png 959w, https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/1_Tiempo-300x172.png 300w, https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/1_Tiempo-768x440.png 768w, https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/1_Tiempo-345x198.png 345w, https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/1_Tiempo-700x401.png 700w\" sizes=\"auto, (max-width: 561px) 100vw, 561px\" \/><\/a><\/p>\n<p>Nuestros dispositivos, siempre nos muestran el tiempo que hace en nuestra ciudad, esta informaci\u00f3n la reciben de un api.<\/p>\n<p>La aplicaci\u00f3n de tiempo, har\u00e1 una <strong>request<\/strong> al api, buscando la temperatura de la ciudad que escribamos:<\/p>\n<ul>\n<li>Inicio de sesi\u00f3n XYZ<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/2_LogIn.png\" rel=\"attachment wp-att-13750\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13750 size-full\" src=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/2_LogIn.png\" alt=\"Uso de api de Login \" width=\"300\" height=\"191\" \/><\/a><\/p>\n<p>La forma en que funciona es bastante simple. Cada vez que se carga la aplicaci\u00f3n, utiliza la API para verificar si el usuario ya inici\u00f3 sesi\u00f3n a trav\u00e9s de cualquier plataforma de redes sociales.<\/p>\n<ul>\n<li>Pagos con PayPal<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/3_Paying.png\" rel=\"attachment wp-att-13751\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13751 size-full\" src=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/3_Paying.png\" alt=\"Api de uso de tarjetas de cr\u00e9dito\" width=\"300\" height=\"181\" \/><\/a><\/p>\n<p>Igual que con el inicio de sesi\u00f3n, para realizar pagos la mayor\u00eda de tiendas de comercios electr\u00f3nicos, utilizan estas apis para garantizar que la aplicaci\u00f3n final solo pueda hacer lo que necesita, sin estar expuesta a datos confidenciales ni tener acceso a permisos no deseados.<\/p>\n<h2>Uso de APIs con Java<\/h2>\n<p>En este art\u00edculo vamos a aprender a recoger datos de un api en Java y utilizarnos en nuestras aplicaciones.<\/p>\n<p>En primer lugar, una API debe tener una <strong>URL<\/strong> de host (o URL base), que es la direcci\u00f3n principal con la que interactuar\u00e1.<\/p>\n<p>Adem\u00e1s, las API tienen un conjunto predefinido de puntos finales: <strong>direcciones<\/strong> <strong>\u00fanicas<\/strong> dentro de la URL del host, responsables de su funcionalidad. Adem\u00e1s, las API deben tener <strong>documentaci\u00f3n<\/strong> que explique todos los puntos finales, tipos de valores devueltos, etc.<\/p>\n<p>Despu\u00e9s de encontrar una API interesante y leer la documentaci\u00f3n, debe enviar una solicitud: una sola tarea para el servidor (lado receptor). Metaf\u00f3ricamente, es como una conversaci\u00f3n entre dos personas: alguien (usted) hace una pregunta (<strong>request<\/strong>) y el interlocutor (punto final) responde (<strong>response<\/strong>).<\/p>\n<h3>Tipos de requests de API<\/h3>\n<p>&nbsp;<\/p>\n<p>Hay muchos tipos diferentes de <strong>requests<\/strong> que la API podr\u00eda manejar, pero estas son las m\u00e1s utilizadas:<\/p>\n<p><strong>GET<\/strong>: devuelve datos del servidor. Por cierto, la solicitud m\u00e1s popular.<\/p>\n<p><strong>POST<\/strong>: agrega nuevos datos en el servidor. A menudo, este tipo se usa para registrar o cargar archivos.<\/p>\n<p><strong>PUT\/PATCH<\/strong>: actualiza datos, solicitud \u00fatil pero no tan solicitada.<\/p>\n<p><strong>ELIMINAR<\/strong>: elimina datos del servidor.<\/p>\n<p>Nosotros nos enfocaremos en el <strong>GET<\/strong> para obtener datos para nuestras aplicaciones.<\/p>\n<p>El api que escoger\u00e9 para este art\u00edculo es el siguiente: <a href=\"https:\/\/pokeapi.co\/\">https:\/\/pokeapi.co\/<\/a><\/p>\n<p>En esta pagina podemos hacer la request del Pok\u00e9mon que queramos, d\u00e1ndonos as\u00ed, toda su informaci\u00f3n.<\/p>\n<p>El URL host, tal y como pone en la p\u00e1gina web es la siguiente: <a href=\"https:\/\/pokeapi.co\/api\/v2\/\">https:\/\/pokeapi.co\/api\/v2\/<\/a>, a\u00f1adiremos el Pok\u00e9mon que deseamos consultar al final: <a href=\"https:\/\/pokeapi.co\/api\/v2\/pikachu\">https:\/\/pokeapi.co\/api\/v2\/pikachu<\/a><\/p>\n<p>Para hacer el get request de esta url debemos importar las librer\u00edas <strong>URL<\/strong> y <strong>HttpURLConnection<\/strong> y escribir el c\u00f3digo dentro de un <strong>try catch block, <\/strong>ya que la conexi\u00f3n puede fallar.<\/p>\n<pre>import java.net.HttpURLConnection;\r\n\r\nimport java.net.URL;\r\n\r\n<\/pre>\n<p>Crearemos un objeto <strong>URL<\/strong> con el enlace a la API. Tambi\u00e9n. podemos crear una variable String pokemon que se sumar\u00e1 a la URL para darnos la informaci\u00f3n.<\/p>\n<pre>try {\r\n    String pokemon=\"pikachu\";\r\n    URL url=new URL(\"https:\/\/pokeapi.co\/api\/v2\/pokemon\/\"+ pokemon);\r\n} catch (Exception e) {\r\n    e.printStackTrace();\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>A continuaci\u00f3n generaremos un objeto \u201cHttpURLConnection para hacer la conexi\u00f3n a la api, mediante el m\u00e9todo de la URL openConnection().<\/p>\n<pre>try {\r\n    String pokemon=\"pikachu\";\r\n    URL url=new URL(\"https:\/\/pokeapi.co\/api\/v2\/pokemon\/\"+ pokemon);\r\n    HttpURLConnection con=(HttpURLConnection)url.openConnection(); \r\n} catch (Exception e) {\r\n    e.printStackTrace();\r\n}\r\n\r\n<\/pre>\n<p>Una vez creado el objeto connection, vamos a llamar a la request <strong>GET.<\/strong> Cuando hacemos una <strong>request<\/strong> (solicitud), normalmente recibimos un <strong>c\u00f3digo de<\/strong> <strong>respuesta<\/strong> (responseCode). El <strong>c\u00f3digo<\/strong> de <strong>respuesta<\/strong>, por ejemplo: <strong>200<\/strong>, significa que el <strong>GET<\/strong> <strong>request<\/strong> ha sido satisfactorio y el servidor devolver\u00e1 los contenidos del documento solicitado. Otro ejemplo es <strong>404<\/strong> Not Found, el servidor no ha encontrado el resource solicitado.<\/p>\n<pre>try {\r\n    String pokemon=\"pikachu\";\r\n    URL url=new URL(\"https:\/\/pokeapi.co\/api\/v2\/pokemon\/\"+ pokemon);\r\n    HttpURLConnection con=(HttpURLConnection)url.openConnection(); \r\n    con.setRequestMethod(\"GET\");\r\n    int responsecode=con.getResponseCode();\r\n} catch (Exception e) {\r\n    e.printStackTrace();\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>Una vez tenemos el c\u00f3digo de respuesta, comprobamos si es 200, para continuar.<\/p>\n<p>Generaremos un <strong>StringBuilder<\/strong>, este objeto mantiene un b\u00fafer para dar cabida a las expansiones a la cadena. Si hay espacio disponible, se anexan nuevos datos al b\u00fafer.<\/p>\n<p>Si todo funcionar perfectamente necesitaremos un bucle while para a\u00f1adir toda la informaci\u00f3n que estamos recibiendo de la url, a\u00f1adi\u00e9ndola al <strong>StringBuilder <\/strong>con la ayuda de un<strong> Scanner.<\/strong><\/p>\n<p>El m\u00e9todo <strong>openStream<\/strong>() de la url, inicia una nueva conexi\u00f3n con el servidor en el que se resuelve la URL. A continuaci\u00f3n, se env\u00eda una solicitud HTTP GET a trav\u00e9s de la conexi\u00f3n. Si todo va bien (es decir, 200 que ya hemos comprobado con anterioridad), el servidor devuelve el mensaje de respuesta HTTP que lleva los datos.<\/p>\n<pre>try {\r\n    String pokemon=\"pikachu\";\r\n    URL url=new URL(\"https:\/\/pokeapi.co\/api\/v2\/pokemon\/\"+ pokemon);\r\n    HttpURLConnection con=(HttpURLConnection)url.openConnection(); \r\n    con.setRequestMethod(\"GET\");\r\n    int responsecode=con.getResponseCode();\r\n    if(responsecode!=200) {\r\n        System.<strong><em>out<\/em><\/strong>.println(\"Error\"+ responsecode);\r\n    }\r\n    else{\r\n        StringBuilder informationstring= new StringBuilder();\r\n        Scanner sc=new Scanner(url.openStream());\r\n        while(sc.hasNext()){\r\n            informationstring.append(sc.nextLine());\r\n        }\r\n        sc.close();\r\n    }\r\n} catch (Exception e) {\r\n    e.printStackTrace();\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>El siguiente paso, consiste en transformar este <strong>StringBuilder<\/strong> (texto con much\u00edsimos datos) para poder acceder a la informaci\u00f3n espec\u00edfica del Pok\u00e9mon.<\/p>\n<p><strong>JSON<\/strong> es un formato de texto sencillo para el intercambio de datos. Se trata de un subconjunto de la notaci\u00f3n literal de objetos de JavaScript, aunque, debido a su amplia adopci\u00f3n como alternativa a XML, se considera un formato independiente del lenguaje.<\/p>\n<p>Necesitaremos a\u00f1adir la librer\u00eda de <strong>JSON<\/strong> para intercambiar los datos de nuestro <strong>StringBuilder<\/strong>.<\/p>\n<p><a href=\"https:\/\/jar-download.com\/artifacts\/org.json\">https:\/\/jar-download.com\/artifacts\/org.json<\/a><\/p>\n<p>Hay que descargar la librer\u00eda y a\u00f1adirla al proyecto. Lo importaremos al archivo de esta forma:<\/p>\n<pre>import org.json.JSONObject;<\/pre>\n<p>Normalmente las estructuras de los <strong>JSON<\/strong> son parecidas a los diccionarios (<strong>HashMap<\/strong>), con keys y values:<\/p>\n<p><a href=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/4_JSONHashMap.png\" rel=\"attachment wp-att-13752\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13752 size-full\" src=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/4_JSONHashMap.png\" alt=\"Estructura de un HasMap\/JSON\" width=\"369\" height=\"202\" srcset=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/4_JSONHashMap.png 369w, https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/4_JSONHashMap-300x164.png 300w\" sizes=\"auto, (max-width: 369px) 100vw, 369px\" \/><\/a><\/p>\n<p>Para transformar el <strong>StringBuilder<\/strong> a <strong>JSONObject<\/strong> haremos uso de la librer\u00eda:<\/p>\n<pre>JSONObject dataObject=new JSONObject (String.<em>valueOf<\/em>(informationstring));<\/pre>\n<p>Para buscar la informaci\u00f3n que nos interesa debemos ir a la <strong>documentaci\u00f3n<\/strong> del api. Tambi\u00e9n podemos utilizar el m\u00e9todo <strong>names<\/strong>(), que nos devuelve el nombre de las <strong>JSONArrays<\/strong> que hay.<\/p>\n<pre>System.<strong><em>out<\/em><\/strong>.println(dataObject.names());<\/pre>\n<pre>[\"location_area_encounters\",\"types\",\"base_experience\",\"held_items\",\"weight\",\"is_default\",\"past_types\",\"sprites\",\"abilities\",\"game_indices\",\"species\",\"stats\",\"moves\",\"name\",\"id\",\"forms\",\"height\",\"order\"]<\/pre>\n<p>Si queremos seleccionar los types, usaremos getJSONArray(\u201ctypes\u201d):<\/p>\n<pre>System.<strong><em>out<\/em><\/strong>.println(dataObject.getJSONArray(\"types\"));<\/pre>\n<pre>[{\"slot\":1,\"type\":{\"name\":\"electric\",\"url\":\"https:\/\/pokeapi.co\/api\/v2\/type\/13\/\"}}]<\/pre>\n<p>Este array nos devuelve 1 solo objeto, que contiene distintos elementos, como slot, type\u2026 queremos sacar el tipo del Pok\u00e9mon. Cogemos el \u00fanico elemento del array.<\/p>\n<pre>System.<strong><em>out<\/em><\/strong>.println(dataObject.getJSONArray(\"types\").getJSONObject(0));<\/pre>\n<pre>{\"slot\":1,\"type\":{\"name\":\"electric\",\"url\":\"https:\/\/pokeapi.co\/api\/v2\/type\/13\/\"}}<\/pre>\n<pre>System.<strong><em>out<\/em><\/strong>.println(dataObject.getJSONArray(\"types\").getJSONObject(0).getJSONObject(\"type\"));<\/pre>\n<pre>{\"name\":\"electric\",\"url\":\"https:\/\/pokeapi.co\/api\/v2\/type\/13\/\"}<\/pre>\n<p>Vamos entrado dentro de los elementos hasta llegar al tipo.<\/p>\n<pre>System.<strong><em>out<\/em><\/strong>.println(dataObject.getJSONArray(\"types\").getJSONObject(0).getJSONObject(\"type\").getString(\"name\"));<\/pre>\n<pre><em><strong>Electric<\/strong><\/em><\/pre>\n<p>Finalmente hemos llegado al tipo del Pok\u00e9mon, es importante saber moverse entre objetos JSON para escoger la informaci\u00f3n que necesitemos.<\/p>\n<p>Pensad en todas las oportunidades y el uso de las que nos dan las Apis en Java para hacer nuestras aplicaciones.<\/p>\n<p>\u00a1Espero que os haya servido el art\u00edculo!<\/p>\n<h3>C\u00f3digo final:<\/h3>\n<pre><code>try {\r\n    String pokemon=\"pikachu\";\r\n    URL url=new URL(\"https:\/\/pokeapi.co\/api\/v2\/pokemon\/\"+ pokemon);\r\n    HttpURLConnection con=(HttpURLConnection)url.openConnection(); \r\n    con.setRequestMethod(\"GET\");\r\n    int responsecode=con.getResponseCode();\r\n    if(responsecode!=200) {\r\n        System.out.println(\"Error\"+ responsecode);\r\n    }\r\n    else {\r\n        StringBuilder informationstring= new StringBuilder();\r\n        Scanner sc=new Scanner(url.openStream());\r\n        while(sc.hasNext()) {\r\n            informationstring.append(sc.nextLine());\r\n        }\r\n        sc.close();\r\n        JSONObject dataObject=new JSONObject(String.valueOf(informationstring));\r\n        System.out.println(dataObject.getJSONArray(\"types\").getJSONObject(0).getJSONObject(\"type\").getString(\"name\"));\r\n    }\r\n} catch (Exception e) {\r\n    e.printStackTrace();\r\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Uso de APIs en Java \u00bfQu\u00e9 es una API? El t\u00e9rmino API es una abreviatura de Application Programming Interfaces, que en espa\u00f1ol significa interfaz de programaci\u00f3n de aplicaciones. Se trata de un conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar el&#8230;<\/p>\n","protected":false},"author":37,"featured_media":13768,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_ef_editorial_meta_date_first-draft-date":"","_ef_editorial_meta_paragraph_assignment":"","_ef_editorial_meta_checkbox_needs-photo":"","_ef_editorial_meta_number_word-count":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5],"tags":[826,827,528,220,89,828],"class_list":["post-13744","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion","tag-api","tag-apis","tag-escola-espai","tag-java","tag-programacion-2","tag-request"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Uso de APIs en Java - Blog Escola Espai<\/title>\n<meta name=\"description\" content=\"En este art\u00edculo vemos el Uso de APIs en Java, requests, responses... Uso de JSON para filtrar los datos obtenidos del servidor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Uso de APIs en Java - Blog Escola Espai\" \/>\n<meta property=\"og:description\" content=\"En este art\u00edculo vemos el Uso de APIs en Java, requests, responses... Uso de JSON para filtrar los datos obtenidos del servidor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Escola Espai\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-26T10:50:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-08-30T14:07:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/imagenDestacada.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Roca\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Roca\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/\"},\"author\":{\"name\":\"David Roca\",\"@id\":\"https:\/\/www.espai.es\/blog\/#\/schema\/person\/868ce068b4c6412eb54c2d7943697a2a\"},\"headline\":\"Uso de APIs en Java\",\"datePublished\":\"2022-08-26T10:50:18+00:00\",\"dateModified\":\"2022-08-30T14:07:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/\"},\"wordCount\":1142,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/imagenDestacada.png\",\"keywords\":[\"api\",\"apis\",\"Escola Espai\",\"Java\",\"programaci\u00f3n\",\"request\"],\"articleSection\":[\"Programaci\u00f3n\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/\",\"url\":\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/\",\"name\":\"Uso de APIs en Java - Blog Escola Espai\",\"isPartOf\":{\"@id\":\"https:\/\/www.espai.es\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/imagenDestacada.png\",\"datePublished\":\"2022-08-26T10:50:18+00:00\",\"dateModified\":\"2022-08-30T14:07:13+00:00\",\"author\":{\"@id\":\"https:\/\/www.espai.es\/blog\/#\/schema\/person\/868ce068b4c6412eb54c2d7943697a2a\"},\"description\":\"En este art\u00edculo vemos el Uso de APIs en Java, requests, responses... Uso de JSON para filtrar los datos obtenidos del servidor.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#primaryimage\",\"url\":\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/imagenDestacada.png\",\"contentUrl\":\"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/imagenDestacada.png\",\"width\":1000,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.espai.es\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Uso de APIs en Java\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.espai.es\/blog\/#website\",\"url\":\"https:\/\/www.espai.es\/blog\/\",\"name\":\"Blog Escola Espai\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.espai.es\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.espai.es\/blog\/#\/schema\/person\/868ce068b4c6412eb54c2d7943697a2a\",\"name\":\"David Roca\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.espai.es\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ffeeeb048688da23ed965545d7821176228acaac77f93c2234007020c27cfd4e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ffeeeb048688da23ed965545d7821176228acaac77f93c2234007020c27cfd4e?s=96&d=mm&r=g\",\"caption\":\"David Roca\"},\"description\":\"\u00a1Muy buenas a todos! Mi nombre es David, soy T\u00e9cnico en Animaci\u00f3n 3D, desarrollo de videojuegos y entornos interactivos. En mi carrera, me he especializado en la Realidad Aumentada, Realidad Virtual y la programaci\u00f3n en C#. Siempre me he decantado por la rama de programaci\u00f3n, y me he familiarizado por cuenta propia con distintos lenguajes de programaci\u00f3n. Mi hobby siempre ha sido analizar cada uno de los videojuegos que he tenido la ocasi\u00f3n de probar, y pensar en c\u00f3mo est\u00e1n hechos y programados. Desde que acab\u00e9 mis estudios he permanecido en el sector de la educaci\u00f3n, trabajando como profesor de programaci\u00f3n y como profesor de tiempo libre. Una de mis motivaciones, es la de poder transmitir esa energ\u00eda y esa ilusi\u00f3n por la programaci\u00f3n a los alumnos. Actualmente, estoy compaginando mi trabajo como profesor del \u00e1rea de programaci\u00f3n en la Escuela Espai, con un Grado Universitario de multimedia.\",\"url\":\"https:\/\/www.espai.es\/blog\/author\/davidroca\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Uso de APIs en Java - Blog Escola Espai","description":"En este art\u00edculo vemos el Uso de APIs en Java, requests, responses... Uso de JSON para filtrar los datos obtenidos del servidor.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/","og_locale":"es_ES","og_type":"article","og_title":"Uso de APIs en Java - Blog Escola Espai","og_description":"En este art\u00edculo vemos el Uso de APIs en Java, requests, responses... Uso de JSON para filtrar los datos obtenidos del servidor.","og_url":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/","og_site_name":"Blog Escola Espai","article_published_time":"2022-08-26T10:50:18+00:00","article_modified_time":"2022-08-30T14:07:13+00:00","og_image":[{"width":1000,"height":500,"url":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/imagenDestacada.png","type":"image\/png"}],"author":"David Roca","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"David Roca","Tiempo de lectura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#article","isPartOf":{"@id":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/"},"author":{"name":"David Roca","@id":"https:\/\/www.espai.es\/blog\/#\/schema\/person\/868ce068b4c6412eb54c2d7943697a2a"},"headline":"Uso de APIs en Java","datePublished":"2022-08-26T10:50:18+00:00","dateModified":"2022-08-30T14:07:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/"},"wordCount":1142,"commentCount":0,"image":{"@id":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#primaryimage"},"thumbnailUrl":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/imagenDestacada.png","keywords":["api","apis","Escola Espai","Java","programaci\u00f3n","request"],"articleSection":["Programaci\u00f3n"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/","url":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/","name":"Uso de APIs en Java - Blog Escola Espai","isPartOf":{"@id":"https:\/\/www.espai.es\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#primaryimage"},"image":{"@id":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#primaryimage"},"thumbnailUrl":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/imagenDestacada.png","datePublished":"2022-08-26T10:50:18+00:00","dateModified":"2022-08-30T14:07:13+00:00","author":{"@id":"https:\/\/www.espai.es\/blog\/#\/schema\/person\/868ce068b4c6412eb54c2d7943697a2a"},"description":"En este art\u00edculo vemos el Uso de APIs en Java, requests, responses... Uso de JSON para filtrar los datos obtenidos del servidor.","breadcrumb":{"@id":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#primaryimage","url":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/imagenDestacada.png","contentUrl":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/imagenDestacada.png","width":1000,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/www.espai.es\/blog\/2022\/08\/apis-en-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.espai.es\/blog\/"},{"@type":"ListItem","position":2,"name":"Uso de APIs en Java"}]},{"@type":"WebSite","@id":"https:\/\/www.espai.es\/blog\/#website","url":"https:\/\/www.espai.es\/blog\/","name":"Blog Escola Espai","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.espai.es\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.espai.es\/blog\/#\/schema\/person\/868ce068b4c6412eb54c2d7943697a2a","name":"David Roca","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.espai.es\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ffeeeb048688da23ed965545d7821176228acaac77f93c2234007020c27cfd4e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ffeeeb048688da23ed965545d7821176228acaac77f93c2234007020c27cfd4e?s=96&d=mm&r=g","caption":"David Roca"},"description":"\u00a1Muy buenas a todos! Mi nombre es David, soy T\u00e9cnico en Animaci\u00f3n 3D, desarrollo de videojuegos y entornos interactivos. En mi carrera, me he especializado en la Realidad Aumentada, Realidad Virtual y la programaci\u00f3n en C#. Siempre me he decantado por la rama de programaci\u00f3n, y me he familiarizado por cuenta propia con distintos lenguajes de programaci\u00f3n. Mi hobby siempre ha sido analizar cada uno de los videojuegos que he tenido la ocasi\u00f3n de probar, y pensar en c\u00f3mo est\u00e1n hechos y programados. Desde que acab\u00e9 mis estudios he permanecido en el sector de la educaci\u00f3n, trabajando como profesor de programaci\u00f3n y como profesor de tiempo libre. Una de mis motivaciones, es la de poder transmitir esa energ\u00eda y esa ilusi\u00f3n por la programaci\u00f3n a los alumnos. Actualmente, estoy compaginando mi trabajo como profesor del \u00e1rea de programaci\u00f3n en la Escuela Espai, con un Grado Universitario de multimedia.","url":"https:\/\/www.espai.es\/blog\/author\/davidroca\/"}]}},"jetpack_featured_media_url":"https:\/\/www.espai.es\/blog\/wp-content\/uploads\/2022\/08\/imagenDestacada.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/posts\/13744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/users\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/comments?post=13744"}],"version-history":[{"count":18,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/posts\/13744\/revisions"}],"predecessor-version":[{"id":13771,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/posts\/13744\/revisions\/13771"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/media\/13768"}],"wp:attachment":[{"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/media?parent=13744"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/categories?post=13744"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.espai.es\/blog\/wp-json\/wp\/v2\/tags?post=13744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}