Jesús Raúl
@jesusraulgonzaleznavarrete
Estuidante de Ingeniería de Software en la UAdeO de Culiacán. Soy un apasionado de la tecnología y con un hambre por aprender.
Ejido Culiacan (Culiacancito), Mexico
@jesusraulgonzaleznavarrete
Estuidante de Ingeniería de Software en la UAdeO de Culiacán. Soy un apasionado de la tecnología y con un hambre por aprender.
Ejido Culiacan (Culiacancito), Mexico
Jesús Raúl González Navarrete@jesusraulgonzaleznavarrete
https://ed.team/cursos?nombre=conceptos+de+api
1 2 3 4 5
Protocolo (HTTP, SMTP, SSH), en este caso es HTTPS donde la “s” es para mayor seguridad
Dominio que identifica a la empresa, podría tener subdominios para identificar lo que se esta haciendo en el servidor, ejemplo: api.ed.team, donde están las API’s.
Ruta, este comienza con el slash.
Un signo de interrogación que identifica los parámetros de consulta que sirven para darle filtros a las consultas
Parámetro que se llama nombre con su valor, así se podría identificar un curso, pero no es la forma correcta de hacerlo.
https://ed.team/cursos/conceptos-de-api
6
6. Esta es la manera correcta de identificar el recurso, después de esto se puede usar los parámetros para el filtrado. Se hace de esta forma debido a que los parámetros de consulta deben de filtrar información y no recursos.
Jesús Raúl González Navarrete@jesusraulgonzaleznavarrete
GET: Nos sirve para hacer una petición para que el servidor envíe información al cliente.
POST: Sirve para enviar información desde el cliente hacia el servidor
PUT: Para actualizar todo un recurso.
DELETE: Es para borrar un recurso.
PATCH: Es utilizado para actualizar parcialmente un recurso, este viene bien para solo actualizar solo una parte del recurso y no todo completo.
HEADER: Nos permite consultar la existencia de un recurso, es diferente al método GET porque este le pide al servidor que le envíe el recurso, mientras que HEADER solo pregunta al servidor si existe, no envía ningún recurso.
OPTIONS: Lo utilizan los navegadores de manera nativa. Va permitir que el navegador valide una las peticiones de que cualquier método/verbo sea usado, esto lo hace para verificar que un dominio A pueda realizar estas peticiones a un dominio B. Esto lo hacen para evitar que cualquiera pueda hacer peticiones desde otros dominios.
Al crear API’s, se topa con el concepto de CORS, la cual permite o no las peticiones desde un dominio hacia otro.
Jesús Raúl González Navarrete@jesusraulgonzaleznavarrete
REST se basa en el protocolo HTTP para poder exponer su arquitectura, incluso, cualquier navegador web hacia cualquier pagina web, utiliza la arquitectura REST bajo el protocolo HTTP.
¿Qué es el protocolo HTTP?
El protocolo HTTP nos permite exponer una serie de reglas.
Un protocolo es una serie de pasos que debes de seguir para cumplir un objetivo. No es un algoritmo, los algoritmos son una serie de pasos para solucionar un problema, pero un protocolo son una serie de pasos que debes realizar para cumplir un objetivo específico.
El protocolo nos permite exponer un estándar para que todos hablemos el mismo idioma y sigamos las mismas reglas, de lo contrario, cada uno haría sus propias reglas y ya no sería un estándar.
El protocolo HTTP es en la que se basa la arquitectura REST para exponer nuestras API’s. Se basa en una comunicación cliente-servidor donde el cliente hace una petición y el servidor le da una respuesta.
¿Cómo debe ser esa petición para cumplir con ese estándar?
La petición debe ser de esta forma:
GET /index.html HTTP/1.1
Host: www.example.com
Referer: www.google.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Connection: keep-alive
Las peticiones son cadenas de texto plano, donde se le indica al servidor cual es el requerimiento. La primera línea de esta petición es la mas importante y consiste en:
GET Es un método o verbo del HTTP
/index.html Es una ruta o path
HTTP/1.1 Versión del protocolo HTTP, actualmente ya se usa la versión 3, pero la versión 1.1 todavía es un estándar
Esta línea identifica que tipo de petición se está haciendo
Y la respuesta suele verse así:
HTTP/1.1 200 OK
Date: Fri, 31 Dec 2003 23:59:59 GMT
Content-Type: text/html
Content-Length: 1221
(Contenido)
Donde la primera línea sigue siendo importante:
HTTP/1.1 Versión del HTTP que está usando
200 un código de respuesta
OK Texto de ese código de respuesta
Esta respuesta resultó ser exitosa, que todo lo que se solicitó esta correcto y se está devolviendo
Jesús Raúl González Navarrete@jesusraulgonzaleznavarrete
¿Qué es una API?
Es un conjunto de subrutinas, procesos, funciones o métodos que ofrece un software para que otro software pueda interactuar con él. No necesariamente tiene que ser otro software, el mismo software puede exponer una API para que pueda interactuar con sí mismo.
Interfaz de Programación de Aplicaciones (API) nos permite interactuar con un software.
API de tipo REST
Son las que nos permiten crear aplicaciones web o aplicaciones móviles que se conecten a un servidor vía cliente-servidor. Así que entendiendo que API es un conjunto de funciones, métodos o subrutinas que expone un software para poder interactuar con él, en este caso es lo mismo porque vamos a exponer algunas funciones que permitirán a un cliente, ya sea en un navegador o una aplicación móvil, que se conecten con nuestra aplicación del backend vía API-REST.
Jesús Raúl González Navarrete@jesusraulgonzaleznavarrete
Desde hace ya unos años se de la existencia de esta comunidad y de sus cursos, más hasta ahora es que le doy una oportunidad, así que espero poder aprender mucho y complementarme en cosas que estoy seguro que me podrán ayudar. Un saludo a todos y a programar :D