¿Estás descubriendo qué son los servicios REST y estás abrumado con la cantidad de información que te encuentras y no sabes por donde empezar?
¿Servicios REST?
Sí, es una manera estupenda de intercambiar datos entre aplicaciones/sistemas que no tienen nada que ver los unos con los otros, pero… ¿Qué es un servicio REST?
¡Vale! Cuéntame más sobre REST
Para no liarte mucho, voy a intentar plasmar lo que es REST de una manera muy muy muy simplificada en una simple foto.
Explicación
- Se trata de un protocolo SIN ESTADO. Por tanto si el servicio requiere de seguridad/autenticación se tienen que pasar SIEMPRE los datos necesarios para que pueda autenticar en cada llamada (usuario y contraseña, token, …)
- La manera más estándar de interactuar con REST es a través de los verbos HTTP. Por ejemplo, si lo que quiero hacer es leer datos de un servicio REST utilizaría el HTTP GET.
- Los servicios REST suelen devolver un fichero JSON.
- El estado de la operación se realiza a través del HTTP STATUS. ¿A que cuando pides una página web que no existe el HTTP STATUS es 404? De igual manera si pides vía REST los datos de un usuario que no existe en la base de datos también devería devolver un 404.
¿Un ejemplo?
¡Desde luego! Imagina que sabemos que hay un servicio meteorológico que si le pasamos el nombre de la ciudad nos devuelve un JSON con los datos del tiempo de la próxima semana.
Llamaríamos al servicio a través del verbo GET de esta manera:
https://serviciodeltiempoquemedaelrest.com/eltiempo?ciudad=Madrid
La respuesta sería un JSON
{
"ciudad": "Madrid",
"temperatura_actual": "17ºC",
"prediccion": {
"lunes": "15ºC",
"martes": "16ºC",
"miercoles": "21ºC",
"jueves": "20ºC",
"viernes": "18ºC",
"sabado": "18ºC",
"domingo": "12ºC"
}
}
Conclusión
Tómate esta información como una manera rápida y nada precisa de explicar qué es un servicio REST y qué posibilidades nos ofrece.