Atualizado: 02/01/2025

Enviando Respostas - Node.js

Para enviar respostas no Express, o objeto response pode usar várias funções. A forma mais comum de enviar uma resposta é utilizando a função send(). Como parâmetro, essa função pode receber um objeto Buffer, uma string (inclusive com código HTML), um objeto JavaScript ou um array.

const express = require("express");
const app = express();

app.use(function (_, response) {
    response.send("<h2>Hello</h2>");
});

app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));

Para enviar um objeto, podemos usar:

response.send({id: 6, name: "Tom"});

Para enviar um array:

response.send(["Tom", "Bob", "Sam"]);

Para enviar um Buffer

response.send(Buffer.from("Hello Express"));

O objeto Buffer representa alguns dados binários. No exemplo acima, ao executar o código, o navegador carregará um arquivo que contém a string "Hello Express".

Enviando Arquivos com sendFile

O método send é conveniente para enviar strings e algum código HTML de pequeno tamanho. No entanto, se o código HTML a ser enviado for muito grande, o código da aplicação também se tornará volumoso. Por exemplo, podemos escrever assim:

const express = require("express");
const app = express();

app.use(function (_, response) {
  response.send(`<!DOCTYPE html>
  <html>
  <head>
      <title>Principal</title>
      <meta charset="utf-8" />
  </head>
  <body>
      <h1>Página Principal</h1>
      <h3>Olá, Express</h3>
  </body>
  </html>`);
});

app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));
Enviando código HTML no Express no Node.js

Enviamos este arquivo utilizando a função sendFile:

const express = require("express");
const app = express();

app.use(function (_, response) {
  response.sendFile(__dirname + "/index.html");
});

app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));

Finalmente, o resultado será o mesmo.

É importante observar que a função sendFile precisa de um caminho absoluto para o arquivo. Para isso, utilizamos __dirname para obter o caminho absoluto do projeto atual e, em seguida, adicionamos o caminho do arquivo dentro do projeto.

Enviando Códigos de Status

A função sendStatus() envia ao usuário um código de status específico com uma mensagem padrão. Por exemplo, vamos enviar o código de status 404, que indica que o recurso não foi encontrado:

const express = require("express");
const app = express();

app.use("/home/foo/bar", function (_, response) {
  response.sendStatus(404);
});

app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));
Método sendStatus em Express em Node.js

Como mostrado no exemplo, ao enviar o código de status 404, também é enviada a mensagem "Not Found". Se quisermos enviar mensagens mais informativas, podemos usar a combinação da função status(), que também envia o código de status, com a função send():

const express = require("express");
const app = express();

app.use("/home/foo/bar", function (request, response) {
  response.status(404).send("Recurso não encontrado");
});

app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com