4
respostas

Servidor res e req

Olá, eu tinha começado esse curso, parei fiz o de node Angular 2, mas revendo as primeiras aulas e pesquisando um pouco, surgiu uma dúvida.

Eu vi pessoas usando require('request'), porque dizem que é necessário para fazer requisições para APIs, mas e esse req e res, já não fazem isso?

Eu fiz o curso de nodejs, mas ainda estou com dificuldade em entender algumas coisas com relação a essa parte de comunicação com o servidor, comparando com o php, seria o que o apache faz?

4 respostas

Oi Gisele, tudo bem? esse req e res são os objetos que você lida quando sua aplicação está recebendo uma requisição, em um objeto você tem informações sobre a requisição e no outro você adicionar informações como resposta.

O request (pego pelo require) é um objeto da API do node para fazer requisições e não para receber. Neste caso, você vai fazer a requisição para algum lugar, não esperar que seja feita pra você.

No PHP, as coisas são mais transparentes, você não lida diretamente com a requisição e reposta, neste caso, o req e res são tratados pelo Apache sim. Já o require('request') no PHP é outra coisa, como uso da extensão curl, uso da função file_get_contents, entre outros.

Obrigada. A principal dúvida era essa sobre o request, então o res e req lidam com dados que estão recebendo da requisição e o request faz as requisições?

Então o node ou o express precisam do request para fazer requisições, sem ele não é possível ou eu entendi errado?

1 - se o req e resp estão sendo usados no request, sim, eles lidam com isso.

2 - o node precisa sim, o express no caso, até onde sei, não faz requisições, ele recebe requisições e usa req, resp por baixo dos panos, não não precisa do request em si.

Acho que essa conversa tá ficando bem confusa Gisele, seria mais interessante esclarecer por meio de exemplos de código. Você tem algum em mãos que apoie sua dúvida?

Olá!

Node.js com Express sabe lidar com requisições e respostas vindas do navegador ou de outro dispositivo externo. Como Wanderson sabiamente deixou claro, req, res no Node.js com Express é fornecido para você poder capturar algo enviado e responder.

Já o módulo request, como Wanderson também citou, é para facilitar o Node.js a realizar requisições, isto é, fazer requisições do backend para qualquer outro lugar.

Nesse sentido, você pode ignorar totalmente o módulo request e focar apenas no req e res fornecidos pelo Express, pois só em situações muitos específicos você quererá utilizar o módulo request.

Sucesso e bom estudo minha aluna.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software