Saltar al contenido principal

Nodo http response

El nodo http response se utiliza para enviar respuestas HTTP a las solicitudes procesadas por el nodo http in. Finaliza el ciclo de procesamiento de la solicitud y devuelve los datos al cliente.


Configuraciones del nodo http response

IMG2

1. Nombre

Campo para especificar el nombre del nodo.
El nombre se muestra en el área de trabajo y ayuda a identificar fácilmente el nodo.
Si se deja vacío, el nodo se llamará http response.

Ejemplo:

  • Nombre del nodo: Enviar respuesta JSON

Campos definidos por el mensaje de entrada (msg)

El nodo http response utiliza el objeto msg que se le pasa como entrada para formar la respuesta HTTP. Aquí están los parámetros principales:

  1. msg.payload
    El contenido de la respuesta. Se envía al cliente en el cuerpo de la respuesta.

    Ejemplo:

    • Para enviar texto:
      msg.payload = "¡Hola, Mundo!";
    • Para respuesta JSON:
      msg.payload = { status: "ok", value: 42 };

  1. msg.statusCode
    Código de estado HTTP de la respuesta. Si este campo no se especifica, se utiliza por defecto 200 OK.

    Ejemplos de códigos de estado:

    • 200 — Éxito.
    • 201 — Creación de recurso exitosa.
    • 400 — Error del cliente.
    • 404 — Recurso no encontrado.
    • 500 — Error interno del servidor.

    Ejemplo:

    msg.statusCode = 404; // Recurso no encontrado

  1. msg.headers
    Objeto que define los encabezados de la respuesta HTTP. Permite especificar, por ejemplo, el tipo de contenido, la caché o encabezados personalizados.

    Ejemplo:

    msg.headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache"
    };

Ejemplos de uso

Ejemplo 1: Envío de una respuesta JSON exitosa

Flujo:

[http in] ---> [function] ---> [http response]

Código del nodo function:

msg.payload = { success: true, message: "Solicitud procesada con éxito" };
msg.statusCode = 200;
msg.headers = { "Content-Type": "application/json" };
return msg;

Resultado:
El cliente recibirá la respuesta:

HTTP/1.1 200 OK
Content-Type: application/json

{
"success": true,
"message": "Solicitud procesada con éxito"
}

Ejemplo 2: Manejo de error

Flujo:

[http in] ---> [function] ---> [http response]

Código del nodo function:

msg.payload = { error: "Parámetros de solicitud inválidos" };
msg.statusCode = 400;
msg.headers = { "Content-Type": "application/json" };
return msg;

Resultado:
El cliente recibirá la respuesta:

HTTP/1.1 400 Bad Request
Content-Type: application/json

{
"error": "Parámetros de solicitud inválidos"
}

Ejemplo 3: Respuesta vacía con estado personalizado

Flujo:

[http in] ---> [http response]

Código en el nodo function antes del nodo http response:

msg.payload = null; // Cuerpo de respuesta vacío
msg.statusCode = 204; // Sin contenido
return msg;

Resultado:
El cliente recibirá la respuesta:

HTTP/1.1 204 No Content