
En este video veremos los tipos de APIs y cómo enfocarlos ya que tienen diferentes características
En este video veremos qué es HTTP 1.1 y también las diferencias con HTTP2 y cómo influye en las APIs REST
Esta clase es complementaría. Si consideras que ya sabes o dominas los códigos de respuesta puedes saltarla. No estaría de más que le dieras un vistazo rápido por si hay algo nuevo que encuentres.
No te impedira comprender el resto de clases pero si las facilitará si es que no te queda claro alguno.
REST es un patrón de arquitectura que nos dará ciertos beneficios y es con el cual diseñaremos nuestras APIs para ofrecer más valor a los consumidores
Les dejo el link de la documentación del API spec
https://swagger.io/specification/
Por si quieren ir mirando cómo usar ciertas secciones
Que tal les dejo los links que pueden serles de ayuda
Online Editor : https://editor.swagger.io/
Example pet API portal: https://petstore.swagger.io/
Open API documentation: https://swagger.io/specification/
Saludos !!
Les dejo el repositorio por si quieren ir mirandolo o tomando el código de ahí conforme vayamos avanzando.
git clone https://mapferegrino@bitbucket.org/mapferegrino/apis-trainning-spaceships.git
En este video explicaremos los primeros pasos a seguir para tener clara la funcionalidad
En este video explicaremos cómo obtener las entradas y salidas además del cómo puede surgir nuevas funcionalidades
En este video haremos un resumen del Kanvas y del flujo que debemos seguir para poder empezar el diseño de nuestros endpoints
Repositorio: git clone https://mapferegrino@bitbucket.org/mapferegrino/apis-trainning-spaceships.git
Link de OpenAPI specification: https://swagger.io/specification
Plugin de OpenAPI viewer Visual Studio Code : https://marketplace.visualstudio.com/items?itemName=Arjun.swagger-viewer
Editor online de Swagger open API: https://editor.swagger.io/
Puedes asignar una lista de etiquetas a cada operación de API. Las operaciones etiquetadas pueden ser manejadas de manera diferente por herramientas y bibliotecas.
El orden de los tags nos dice cómo se visualizarán en el portal.
Los Paths son los endpoints de nuestra API por lo que son muy importantes. Ahí podemos definir los payloads de respuesta y de petición que tendrá asi como los http status, headers, query parameters. En este video sólo veremos la estructura general pero más adelante veremos con más detalle todo !
En este video veremos los tipos de datos que se pueden utilizar en los componentes de open API.
Los generales son :
string (this includes dates and files)
number
integer
boolean
array
object
Pero cada uno tiene un formato especifico así que los veremos en el video y en la documentación los puedes encontrar también.
Data types: https://swagger.io/docs/specification/data-models/data-types/
La composición de modelos es muy útil cuando queremos usar un objeto que se puede comportar de varias formas.
Usaremos conceptos como polimorfismo y herencia. No es necesario que un componente sea polímorfico puede ser incluso un objeto de una estructura.
Los enumerados nos ayudan a poder identificar valores predefinidos en ciertos campos
con el fin de tener un mejor control del campo.
Hay veces en que esos valores son demasiados y es mejor no usar un ENUM sino sólo
el tipo de dato string.
En este video veremos cómo crear estructuras reutilizables y ordenadas para nuestros endpoints.
También veremos como incluir una estructura dentro de otra y cómo llamarlas desde nuestros endpoints.
En este video veremos cómo usar los diferentes tipos de parámetros que nos permite openAPI
path parameters, /users/{id}
query parameters, /users?role=admin
header parameters, X-MyHeader: Value
cookie parameters, : debug=0;
Nota: cookies no veremos en el video ya que son poco comunes en el diseño de APIs pero pueden revisar la documentación para implementarlos
https://swagger.io/docs/specification/describing-parameters/
En este video veremos los puntos que se deben de tener en cuenta cuando se diseña un API
Veremos ejemplos de esos puntos y porque son importantes en nuestros diseños.
El modelo de madurez nos ayuda a conocer la situación en la que esta nuestra API. Es decir qué tantas características tenemos adoptadas de REST y cuales serían los siguientes objetivos a alcanzar para el siguiente nivel. Esta vista es general pues entre niveles hay grandes retos
En este video diseñaremos el endpoint de creación de una spaceship. Explicaremos por qué va sobre el recurso /spaceships, por que utilizar un header Location y un http status 201 entre algunos casos de cuando es recomendable regresar o no el recurso.
En este video veremos la diferencia entre PUT y PATCH y también definiremos ambos endpoints.
RFC PUT https://tools.ietf.org/html/rfc7231#section-4.3.4
RFC PATCH https://tools.ietf.org/html/rfc5789
En este video veremos qué significa realmente el método DELETE, cómo usarlo y veremos respuestas asíncronas, como códigos 202 o 303, que veremos cómo usarlos e interpretarlos
En este video veremos los usos del método HEAD. Donde el HEAD es igual al GET sólo que sin un body de respuesta.
RFC: https://tools.ietf.org/html/rfc7231#section-4.3.2
El patrón de diseño controller sirve para aquellas acciones que se realizan, pueden o no realizarse sobre un recurso , por ejemplo:
POST /spaceships/{spaceship-id}/launch
POST /generate-trips-report
En estos ejemplos usamos un verbo para indicar la acción que esta realizando el endpoint. Este recurso controller nos ayuda con las necesidades que no están contempladas en un CRUD (Create, Read, Update, Delete).
Con este recurso controlador se pueden usar los códigos de respuesta normales 200, 202, 204, 4XX o 5XX dependiendo de qué respuesta se este proporcionando.
Explicaremos cómo funcionará y el propósito de la sección
Analizaremos la necesidad que se nos presenta identificando entradas, salidas , objetivos, etc
Veremos el refinamiento del endpoint para ir viendo estructuras que usaremos
¡Transforma Tu Carrera con el Diseño de APIs!
¿Quieres ser un diseñador de APIs de alto impacto? ¿Te gustaría entender cómo una API puede convertirse en un producto rentable y escalable? Si la respuesta es sí, este curso es para ti.
¿Qué Aprenderás?
APIs como Productos: Descubre por qué las APIs no son sólo una tecnología, sino auténticos motores de crecimiento empresarial, tanto interna como externamente.
Diseño con OpenAPI Spec: Domina el estándar más aceptado en el mundo de las APIs. Además, conoce cómo este se integra sin problemas con gigantes de la nube como AWS.
Calidad y Usabilidad: Aprende a diseñar APIs que tus consumidores amen. Abordaremos:
Estándares y RFCs
Buenas prácticas en diseño
Uso correcto de métodos HTTP y códigos de respuesta
Patrones de arquitectura REST
¿Por Qué Este Curso?
Ejercicios Prácticos: Aunque no puedas codificar dentro del curso, te proporcionamos ejemplos y ejercicios para practicar en tu entorno.
Conocimientos Avanzados: Vamos más allá de la teoría, sumergiéndote en los aspectos prácticos y comerciales del diseño de APIs.
Acceso Permanente: Revisa el material siempre que lo necesites para aclarar dudas o actualizar tus conocimientos.
No pierdas más tiempo y únete ahora a este emocionante mundo del diseño de APIs. ¡Invierte en tu futuro hoy mismo!