Node http request
O nó http request
é projetado para realizar requisições HTTP a serviços web externos ou APIs. Ele suporta múltiplos métodos HTTP, tipos de dados, autenticação e gerenciamento flexível de requisições e respostas.
Configurações para o nó http request
1. Nome
Um campo para especificar o nome do nó.
O nome é exibido no espaço de trabalho e ajuda a identificar facilmente o nó.
Se deixado em branco, o nó será chamado de http request
.
Exemplo:
- Nome do nó:
Obter Dados do Clima
2. Método
O método HTTP que será utilizado para a requisição. A escolha do método depende do tipo de operação que precisa ser realizada.
Métodos disponíveis:
GET
: Recuperar dados.POST
: Enviar dados.PUT
: Atualizar dados.DELETE
: Deletar dados.PATCH
: Atualizar dados parcialmente.HEAD
: Recuperar cabeçalhos de resposta.OPTIONS
: Obter informações sobre a API.
Exemplo:
- Método:
POST
3. Link
Um campo para especificar uma URL estática para a qual a requisição será enviada.
Se o endereço precisar ser definido dinamicamente, ele pode ser passado em msg.url
.
Exemplo:
- Link:
https://api.example.com/data
4. Dados
Define como os dados de entrada serão adicionados à requisição HTTP. As seguintes opções estão disponíveis:
-
Ignorar:
Os dados de entrada não serão utilizados na requisição. Omsg.payload
, se existir, será ignorado.Exemplo:
Semsg.payload
contiver um objeto JSON, ele não será incluído na requisição.
-
Adicionar aos parâmetros de consulta:
Os dados demsg.payload
serão convertidos em parâmetros de consulta e adicionados à URL.Exemplo:
Semsg.payload
contiver:{
"key1": "value1",
"key2": "value2"
}Se o Link for especificado como
http://example.com/api
, a requisição final será:
GET http://example.com/api?key1=value1&key2=value2
.
-
Enviar como corpo da requisição:
Os dados demsg.payload
serão enviados no corpo da requisição. Esta opção é adequada para métodos comoPOST
,PUT
ePATCH
, onde os dados são frequentemente enviados no corpo.Exemplo:
Semsg.payload
contiver:{
"name": "John Doe",
"email": "john.doe@example.com"
}Se o método da requisição for
POST
, os dados serão enviados no corpo da requisição com o conteúdo apropriado.
5. Retorno
Define o formato em que o nó processará a resposta do servidor.
Opções:
- String UTF-8: A resposta é convertida em uma string (padrão).
- Buffer: A resposta é retornada como um objeto
Buffer
(útil para dados binários, como imagens ou arquivos). - JSON: Se a resposta do servidor estiver em formato JSON, ela é automaticamente convertida em um objeto JavaScript.
Exemplo:
- Se
JSON
for selecionado, a resposta:é convertida para:{"status": "ok", "value": 42}
msg.payload = { status: "ok", value: 42 };
6. Autenticação
O nó suporta mecanismos de autenticação integrados.
Autenticação Básica
- Nome de usuário: Nome de usuário.
- Senha: Senha.
Token Bearer
- Token: Token de acesso.
Digest
- Nome de usuário: Nome de usuário.
- Senha: Senha.
Dados de Entrada
O nó http request
aceita um objeto de mensagem msg
com os seguintes parâmetros:
- msg.url: URL para a requisição (se não especificado nas configurações do nó).
- msg.method: Método HTTP (se não definido nas configurações do nó).
- msg.payload: Corpo da requisição (usado para métodos
POST
,PUT
,PATCH
). - msg.headers: Cabeçalhos da requisição HTTP (objeto).
Dados de Saída
O nó retorna um objeto msg
com informações sobre a requisição executada:
- msg.payload: Dados da resposta do servidor.
- msg.statusCode: Código de status HTTP da resposta (por exemplo,
200
ou404
). - msg.headers: Cabeçalhos da resposta.
- msg.responseUrl: URL para a qual a requisição foi feita.
- msg.error: Descrição do erro (se a requisição falhar).
Exemplos de Uso
Exemplo 1: Realizando uma requisição GET
Configurações do nó:
- Método:
GET
- URL:
https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London
Fluxo:
[inject] ---> [http request] ---> [debug]
Resultado: O nó retornará JSON com o clima atual.
Exemplo 2: Enviando dados via POST
Configurações do nó:
- Método:
POST
- URL:
https://api.example.com/devices
- Dados:
JSON
Fluxo:
[function] ---> [http request] ---> [debug]
Código no nó function
:
msg.payload = {
deviceId: "sensor123",
status: "active"
};
msg.headers = { "Content-Type": "application/json" };
return msg;
Resultado: Os dados serão enviados e o nó retornará a resposta do servidor.
Exemplo 3: URL dinâmica e autenticação
Configurações do nó:
- URL: (deixe em branco)
Fluxo:
[function] ---> [http request] ---> [debug]
Código no nó function
:
msg.url = "https://api.example.com/user/123";
msg.headers = { Authorization: "Bearer YOUR_TOKEN" };
return msg;
Resultado: O nó fará uma requisição para a URL especificada com o token de autenticação.