Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

150
Vistas
Expresar respuesta json personalizada

Quiero enviar una respuesta json personalizada en cada solicitud al final como:

 { "message": "Something", "type": "success", "payload": /*object, array, anything else */ }

Lo que puedo hacer es al final de cada uso de solicitud:

 res.status(200).json({message: 'Something', type: 'success', payload});

Si por alguna razón quiero que mis respuestas tengan otro formato, tengo que ir y cambiar cada res.json, lo cual es malo.

Pero como sé que todas mis respuestas tendrán este formato, ¿hay alguna forma de crear un middleware y pasar algunas variables como carga útil, mensaje, tipo que se ejecuta al final de cada solicitud?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Es posible crear un midleware para la respuesta.

 router.get('/some-route', controller.someFunction, resposeMiddleware)

Debería pasar la respuesta como un argumento en la próxima llamada

 someFunction (req, res, next) => { res.local.payload = {/* some data */} next() }

el resposeMiddleware sería algo como esto

 const resposeMiddleware = (req, res) => { const { payload } = res.local res.status(200).json({message: 'Something', type: 'success', payload}) }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Cree un método auxiliar como el siguiente (successResponse.js). También puede establecer cualquier propiedad por defecto.

 successResponse = (res, statusCode, message, data) => { res.status(statusCode || 200).json({ code: statusCode || 200, message: message || "success", data: data || {}, }); }; module.exports = successResponse;

ahora en su controlador solo importe SuccessResponse y utilícelo como

 successResponse(res, 200, "Your Success message", data);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda