Roteamento no Node


No Node, o roteamento é o processo de direcionar as requisições HTTP recebidas para as funções ou controladores responsáveis por processá-las.

import http from 'node:http'
 
const server = http.createServer((request, response) => {
    const { method, url } = request
    
    if (method === 'GET' && url === '/users') {
        return response.end('Listagem de usuários')
    }
 
    if (method === 'POST' && url === '/users') {
        return response.end('Criação de usuário')
    }
 
    return response.end('Hello World!')
})
 
server.listen(3000)

No exemplo de código que você forneceu, o roteamento é feito manualmente dentro da callback passado para o método createServer da biblioteca http. O trecho const { method, url } = request obtém o método HTTP e a URL da requisição, permitindo que você determine como lidar com cada tipo de requisição.

Quando uma requisição é feita para o servidor, o Node.js chama o callback passando o objeto request representando a requisição e o objeto response representando a resposta. Dentro desse callback, você pode utilizar as informações da requisição (como método e URL) para decidir como processá-la e, em seguida, enviar a resposta de volta ao cliente utilizando o método response.end().

Essa abordagem de roteamento é bastante básica e adequada para casos simples, mas em aplicações mais complexas é comum utilizar frameworks como ExpressJS que fornecem funcionalidades avançadas de roteamento e facilitam o desenvolvimento de APIs RESTful robustas e escaláveis.

Referências