Estandarizar Respuestas de API en Django REST Framework con un Envoltorio Personalizado

Descubre cómo custom_response en Django REST Framework estandariza las respuestas JSON con data, message y status en TeamSizeViewSet para tamaños de equipo.

2 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

La consistencia en las respuestas de una API es crítica para construir servicios REST fiables y agradables para desarrolladores. Django REST Framework ofrece herramientas sólidas, pero su salida por defecto no siempre sigue una estructura uniforme. A continuación se muestra cómo aplicar el principio KISS y crear un envoltorio simple llamado custom_response para estandarizar las respuestas JSON y cómo integrarlo en un TeamSizeViewSet que gestiona categorías de tamaño de equipo como 1 a 10 empleados.

La función custom_response

La función custom_response envuelve el objeto Response de DRF y devuelve una estructura homogénea con tres campos esenciales

data carga útil con datos serializados o null para errores y eliminaciones

message mensaje humano que describe el resultado

status código de estado HTTP incluido para claridad en el cliente

Implementación conceptual

custom_response recibe data opcional, message como texto y status_code como entero. Construye un diccionario response_data con las claves data, message y status y devuelve Response de DRF usando status_code. El objetivo es que cualquier endpoint exponga siempre el mismo esqueleto de respuesta independientemente de la operación ejecutada.

Ejemplo de respuesta exitosa

{ data: { id: 1, name: 1-10 empleados }, message: TeamSize recuperado con exito, status: 200 }

Ejemplo de error

{ data: null, message: Ya existe un TeamSize con el nombre 1-10 empleados, status: 400 }

Uso en TeamSizeViewSet

TeamSizeViewSet es un ModelViewSet de DRF para administrar tamaños de equipo con soft delete. La integración de custom_response garantiza respuestas uniformes en todas las operaciones.

List GET teamsizes

Serializa la colección filtrada por deleted_at nulo y retorna custom_response con los datos, mensaje TeamSizes recuperados con exito y estado 200.

Retrieve GET teamsizes id

Serializa una instancia y retorna custom_response con los datos, mensaje TeamSize recuperado con exito y estado 200.

Create POST teamsizes

Valida unicidad por nombre sin distinción de mayúsculas ni minúsculas en registros no eliminados lógicamente. Si existe duplicado retorna custom_response con data null, mensaje de conflicto y estado 400. Si es válido, guarda y retorna data serializada con estado 201 y mensaje TeamSize creado con exito.

Update PUT o PATCH teamsizes id

Actualiza la instancia, serializa el resultado y retorna custom_response con mensaje TeamSize actualizado con exito y estado 200.

Destroy DELETE teamsizes id

Ejecuta soft_delete que marca deleted_at y responde con custom_response, data null, mensaje TeamSize eliminado con exito y estado 204 para indicar que no hay contenido.

Ventajas de adoptar custom_response

Consistencia Estructura uniforme data, message, status que simplifica el consumo desde frontend, apps móviles o integraciones de terceros.

Manejo de errores Mensajes claros y contexto adicional que agilizan la depuración y mejoran la experiencia de desarrollo.

Cumplimiento REST Uso de códigos HTTP adecuados como 200, 201, 400 y 204 alineados con buenas prácticas.

Reutilización Patrón fácilmente aplicable a otros ViewSet y endpoints reduciendo duplicación de lógica y mejorando mantenibilidad.

Consejos de integración

Centraliza custom_response en un módulo utils para su reutilización global.

Unifica respuestas de validación y errores de negocio usando custom_response dentro de create y update.

Si usas soft delete filtra sistemáticamente deleted_at isnull True en queryset y conserva coherencia en todas las vistas.

Para errores inesperados considera un exception handler global que envuelva los errores en el mismo formato data null, message explicativo y status correspondiente.

Por que este patrón encaja con proyectos profesionales

La estandarización de respuestas aporta previsibilidad a SDKs, automatizaciones, pruebas E2E y documentación OpenAPI. En proyectos de aplicaciones a medida y software a medida reduce la fricción entre equipos de backend y frontend y acelera la entrega continua. Además, cuando se integran servicios modernos de ia para empresas y agentes IA, disponer de un contrato de respuesta claro facilita el monitoreo, observabilidad y el uso de gateways o API management.

Q2BSTUDIO, tu partner tecnológico

En Q2BSTUDIO desarrollamos soluciones robustas y escalables con foco en calidad, seguridad y rendimiento. Abarcamos desde aplicaciones a medida y software a medida hasta iniciativas de inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi. Si buscas un equipo experto para impulsar tus plataformas con APIs limpias, escalables y mantenibles, descubre nuestros servicios de desarrollo de aplicaciones y software a medida o explora cómo la inteligencia artificial aplicada puede potenciar tus procesos y productos digitales.

Conclusion

Adoptar un envoltorio ligero como custom_response en Django REST Framework es un cambio simple y de alto impacto. Aporta orden, facilita la integración cliente, mejora la detección de errores y se alinea con las mejores prácticas REST. El ejemplo de TeamSizeViewSet demuestra cómo centralizar la estructura de salida sin complejidad adicional, cumpliendo el principio KISS y escalando de forma natural a cualquier dominio funcional que requiera APIs limpias y profesionales.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.