Ir al contenido principal

Destacado

C4 Model | Por una mejor comunicación

Introducción. Han pasado muchos años desde la introducción de UML en el ámbito del desarrollo de software, con la llegada de Agile , la forma de desarrollar software cambió drásticamente: algunos conceptos evolucionaron, aparecieron nuevos mientras que otros fueron abandonados. Hoy en día, UML es utilizado por contadas personas,  la propia industria ha dejado de lado aquellos elaborados diagramas,  recurriendo a diagramas genéricos o diagramas parciales, altamente variados entre sí, para representar y describir arquitecturas/diseños. Aquí es donde entra Simon Brown , quien identificó este problema de comunicación dentro de las organizaciones. Para solucionarlo, desarrolló el modelo C4 , un sistema de modelos, capaz de describir el software de manera clara y accesible, no solo para  los equipos de desarrollo y arquitectos sino para todo aquel interesado en comprender el funcionamiento y  estructura de un sistema . Modelo C4. El modelo C4 se basa en un c...

REST API | Luke I'm not a CRUD!

Al diseñar una API REST, es común encontrarse con la necesidad de implementar acciones que no encajan dentro de las operaciones tradicionales de CRUD.

📌CRUD en un API REST
POST        ->  Crear (Create)
GET          ->  Leer (Read)
PUT          ->  Actualizar (Update)
DELETE  ->  Eliminar (Delete)

Sin embargo, no todas las acciones pueden reducirse a estas cuatro operaciones básicas. ¿Qué hacer en esos casos? o_O?

Una práctica común es tratar este tipo de acciones como sub-recursos. En algunas referencias, estos sub-recursos se definen como un tipo especial de recurso conocido como Controladores.

¿Qué es un recurso controlador?

Un recurso controlador modela un concepto procedural. Los recursos controladores son como funciones ejecutables, con parámetros y valores de retorno; entradas y salidas.

¿Cómo se estructuran?

Los nombres de los controladores suelen aparecer como el último segmento en una ruta URI, sin recursos secundarios que los sigan en la jerarquía.

Ejemplos de recursos tipo Controlador

📎 Reenviar un message determinado.

POST /messages/245743/resend

📎 Bloquear un issue determinado.

PUT /repos/:owner/issues/:number/lock


Estos recursos permiten modelar acciones específicas dentro de una API REST sin alterar la estructura tradicional de CRUD.


Happy hacking!


Comentarios

Entradas populares