O roteamento
Dividir uma API para que ela continue legível além de trinta rotas.
O roteamento
Uma API que devolve 200 OK com o corpo { "erreur": "utilisateur introuvable" } quebra tudo o que a consome. O cliente HTTP não aciona seu caminho de erro, o cache intermediário memoriza a resposta, o monitoramento conta uma requisição bem-sucedida, e o incidente só aparece quando um humano olha para uma tela vazia. O código de retorno não é decoração: é a única parte da sua resposta que proxies, caches, navegadores e bibliotecas clientes entendem.
O segundo problema clássico do roteamento é estrutural. Todas as rotas declaradas em sequência em um mesmo arquivo acabam atrapalhando umas às outras: /utilisateurs/moi é capturada por /utilisateurs/:id declarada mais acima, e você passa uma hora tentando entender por que o handler recebe id === 'moi'. O Express avalia as rotas na ordem de declaração, sem nenhuma noção de especificidade. Esta lição trata os dois assuntos juntos, porque um roteamento bem dividido é também um roteamento cuja ordem continua sob controle.
Parâmetros, query string e corpo
Três fontes de entrada, três usos distintos.
// GET /api/v1/utilisateurs/42/commandes?statut=payee&page=2&taille=20
router.get('/:id/commandes', (req, res) => {
const { id } = req.params; // '42' — sempre uma string
const { statut, page, taille } = req.query;
// ...
});
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão