API REST con Spring Boot y MySQL

En este post te mostraré cómo crear una API REST usando el lenguaje de programación Java, el framework Spring Boot y la base de datos MySQL. Va a ser un proyecto simple pero a partir del mismo vas a poder crear más endpoints o rutas para consumir distintos modelos.

API REST en Spring Boot con MySQL

Lo que tendremos al final será un proyecto sencillo que expone una API REST con los métodos HTTP GET, POST, PUT y DELETE, interactuando con la base de datos en MySQL y además soportando CORS.

Por cierto, para el intercambio y consumo de datos vamos a usar JSON.

(más…)

API para obtener IP

Hoy te voy a mostrar un servicio gratuito y sin límite para obtener la IP del usuario. Es decir, se tiene que hacer una petición al servidor y el mismo te devuelve la IP del host.

Esto es útil para obtener la IP desde el cliente, sin importar el lenguaje de programación. Además, también sirve para cuando necesitamos consumir otras APIs (por ejemplo, una que te diga el clima) que requieren la IP.

Veamos entonces esta API para obtener la IP pública. Te voy a mostrar un ejemplo para obtenerla con JavaScript del lado del cliente, pero se puede consumir desde cualquier lenguaje que hable HTTP.

(más…)

Datos de sesión con fetch

En este post te mostraré cómo hacer que la sesión persista al usar la fetch API de JavaScript. Pasa que en ocasiones hacemos cosas con la sesión del lado del servidor, pero al usar fetch no se toma en cuenta la sesión.

Por ejemplo, iniciamos sesión con fetch y al querer acceder a un recurso protegido con la sesión, nos dice que no hay datos de sesión o que no estamos logueados.

Te mostraré cómo hacer que la sesión del lado del servidor (lo he probado con PHP, Go y Node.js o bueno JavaScript del lado del cliente) persista al usar fetch.

(más…)

Creando una librería HTTP de JavaScript

En este post te mostraré una envoltura de la función fetch para encerrar las peticiones básicas que se hacen con los verbos GET, POST, PUT y DELETE.

De este modo nos ahorramos repetir código y aprendemos un poco sobre la reutilización del mismo.

Al final tendremos una librería que nos permitirá hacer peticiones HTTP como cualquier otra usando AJAX.

He usado esta librería y evitado usar Axios o proveedores de terceros. El primer uso es en mi sistema de ventas, aunque también lo he usado en el sistema escolar que hice recientemente.

(más…)

Listar respuesta de petición HTTP con Angular

Angular: Peticiones HTTP con HttpClient

Resumen: mostrar cómo usar el cliente HTTP de Angular para hacer peticiones y consumir API REST usando métodos como GET, POST, PUT y DELETE además de JSON para el intercambio de datos.

En este post vamos a crear un servicio de Angular que a su vez usará el HttpClientModule para hacer peticiones HTTP. Después vamos a consumir ese servicio desde cualquier componente.

(más…)

Servicios en Angular - Ejemplo

Servicios en Angular con ejemplo

Los servicios en Angular sirven para varias cosas y son muy parecidos a los servicios de AngularJS.

Un servicio es un servicio, ¿no? sirve para algo y de acuerdo a varios autores debería hacer solo una cosa y debería hacerla bien.

Los servicios sirven para varias cosas, al menos yo los he usado para:

  • Encerrar funciones útiles
  • Obtener cálculos con fórmulas definidas
  • Invocar a servidor HTTP para consumir API

Un servicio en Angular es un paradigma, una forma de pensar y una forma de organizar el código, nada más. Aunque físicamente es un service, pero bien podríamos evitarlos, solo que no se recomienda.

(más…)

Detectar idioma de usuario con PHP

Detectar idioma con PHP

El idioma o lenguaje del usuario que visita una web con PHP puede ser obtenido fácilmente utilizando PHP.

En este post te muestro cómo obtener o detectar el idioma del cliente (es decir, español, inglés, alemán, etcétera).

Si bien no es una opción que nunca falla, funciona en la mayoría de casos.

(más…)

Fetch API en JavaScript: peticiones HTTP con promesas

JavaScript es un lenguaje que evoluciona en todos los sentidos.

Hace tiempo se utilizaba XMLHttpRequest para hacer peticiones AJAX en JavaScript del lado del cliente. Tiempo después aparecieron librerías como jQuery que traían una función para hacer más fáciles las peticiones, con $.ajax.

Más tarde salieron librerías como axios, o algunas otras que vienen incorporadas en frameworks.

Recientemente (bueno, hace ya algunos años, pero es más nueva que XMLHttpRequest) ha aparecido la función global fetch en JavaScript que trabaja con promesas y permite hacer peticiones HTTP de todo tipo de una manera fácil y rápida.

En este post voy a mostrar una guía de cómo trabajar con fetch en JavaScript para hacer peticiones GET, POST (con datos en el cuerpo), PUT y DELETE, además de solicitar HTML o JSON.

También veremos cómo enviar un formulario con fetch. Recuerda que ya vimos cómo subir un archivo usando fetch.

(más…)

Por parzibyte, hace

Enrutador y Middleware en Go con Gorilla Mux

En un post anterior vimos cómo responder peticiones HTTP con rutas en Go, pero las mismas no eran tan simples cuando se trataba de variables en la URL o métodos HTTP.

Hoy vamos a ver un enrutador o router de Go, que permite definir rutas y métodos HTTP para responder a ellos, de una manera fácil.

El enrutador, llamado Mux (que es de las herramientas de Gorilla) permite:

  • Definir middleware en las rutas, es decir, aplicar funciones que se ejecutan antes de cada petición HTTP y que permiten detener la ejecución o loguear determinadas cosas
  • Definición de rutas con verbos HTTP
  • Lectura de parámetros GET
  • Lectura de variables dentro de la url. Por ejemplo si definimos algo como usuario/{id} y se consulta a usuario/1 podemos obtener el valor 1 accediendo a la variable
  • Variables dentro de la URL con expresiones regulares

En resumen, Mux es un router de Go que soporta además Middleware. Veamos algunos ejemplos del mismo.

Si quieres ver el código final míralo en GitHub.

Nota: si usas PHP te recomendo Phroute.

(más…)

Petición POST, GET, PUT y DELETE en Go con net/http

Golang es un lenguaje utilizado del lado del servidor debido a su simplicidad de uso, potencia y velocidad.

Sin embargo, con Go también se pueden hacer peticiones HTTP. Es decir, Go también puede funcionar como cliente HTTP, no solo como servidor.

Como sabemos, hay 4 métodos básicos para las peticiones HTTP: POST para enviar datos, GET para obtener, PUT para actualizar y DELETE para eliminar.

Peticiones HTTP con Go y net http

En este post veremos ejemplos de cómo hacer estas 4 peticiones con Go usando el paquete net/http para lograr hacer una petición GET, POST, PUT y DELETE usando Golang.

También vamos a ver cómo escribir y enviar encabezados o el código de respuesta (200 para OK, 500 de error, 405 de no permito, etcétera)

El sitio web que vamos a usar para probar será httpbin.org, el cual sirve como espejo para probar que realmente estamos haciendo las peticiones y enviando datos.

(más…)

Por parzibyte, hace
Archivo movido y procesado

Aprende a usar curl

Curl es una gran herramienta para hacer peticiones y enviar datos usando HTTP. Desconozco todas sus funciones pero puedo asegurar que sirve perfectamente para probar las APIs que creamos en cualquier lenguaje de programación con el paradigma REST.

Es por eso que hoy veremos cómo usar CURL para probar nuestras API’s y hacer otras peticiones que nos ayudarán a depurar nuestros programas de la web. A lo largo de este tutorial te mostraré, entre otras cosas, lo siguiente:

  • Enviar encabezados
  • Especificar verbo HTTP
  • Enviar datos o JSON
  • Enviar datos como formulario
  • Subir un archivo
  • Enviar el contenido de un archivo

Nota: curl está disponible para Windows y me parece que viene preinstalado en Linux.

(más…)