Saltar al contenido principal

Nodo http response

El nodo http response envía respuestas HTTP a las solicitudes que procesa el nodo http in. Cierra el ciclo de procesamiento de la solicitud y devuelve los datos al cliente.


Configuración del nodo http response​

Ventana «Node Information» del nodo «http response»: el campo «statusCode» tiene el valor 200

1. Name​

Nombre del nodo.
Aparece en el área de trabajo y ayuda a identificar el nodo.
Si lo deja vacío, el nodo se llamará http response.

Ejemplo:

  • Nombre del nodo: Send JSON Response

2. Status Code​

Código de estado HTTP de la respuesta, definido en el formulario del nodo. El valor predeterminado es 200.

Ejemplo:

  • Status Code: 201

Campos definidos por el mensaje de entrada (msg)​

El nodo http response construye la respuesta HTTP a partir del objeto msg que recibe como entrada. Estos son los parámetros principales:

  1. msg.payload
    Contenido de la respuesta, que se envía al cliente en el cuerpo de la respuesta.

    Ejemplo:

    • Para enviar texto:
      msg.payload = "Hello, World!";
    • Para una respuesta JSON:
      msg.payload = { status: "ok", value: 42 };

  1. msg.statusCode
    Código de estado HTTP de la respuesta. Si no se define este campo, se usa 200 OK de forma predeterminada.

    Ejemplos de códigos de estado:

    • 200: éxito.
    • 201: recurso creado correctamente.
    • 400: error del cliente.
    • 404: recurso no encontrado.
    • 500: error interno del servidor.

    Ejemplo:

    msg.statusCode = 404; // Recurso no encontrado

  1. msg.headers
    Objeto con los encabezados de la respuesta HTTP. Permite indicar, 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: enviar una respuesta JSON correcta​

Flujo:

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

Código del nodo function:

msg.payload = { success: true, message: "Request processed successfully" };
msg.statusCode = 200;
msg.headers = { "Content-Type": "application/json" };
return msg;

Resultado:
El cliente recibe esta respuesta:

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

{
"success": true,
"message": "Request processed successfully"
}

Ejemplo 2: gestionar un error​

Flujo:

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

Código del nodo function:

msg.payload = { error: "Invalid request parameters" };
msg.statusCode = 400;
msg.headers = { "Content-Type": "application/json" };
return msg;

Resultado:
El cliente recibe esta respuesta:

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

{
"error": "Invalid request parameters"
}

Ejemplo 3: respuesta vacía con un estado personalizado​

Flujo:

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

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

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

Resultado:
El cliente recibe esta respuesta:

HTTP/1.1 204 No Content