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.