Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

426
Visualizações
¿Cómo funcionan Express router.param y router.route en términos de definición de nombres de parámetros de URL?

Creé un archivo de enrutador usando Express. Las funciones de devolución de llamada residen en sus archivos "controladores" discretos. El siguiente es un extracto de las partes relevantes para mi pregunta, y se han omitido líneas como require of controller functions:

 const express = require('express'); const router = express.Router(); // This should run first router.param('coolParamName', validateParamBeforeHandlingReqs); // Param name is ↑↑↑↑↑ "consumed" here, although NOT defined yet // This should run after the above code router.route('/').get(getAllUserNames).post(createUser); router.route('/:coolParamName').get(getUserName).patch(updateUser).delete(deleteUser); // Param name is ↑↑↑↑↑ defined here, and was consumed earlier - how?

Como explican los comentarios, parece que el nombre del parámetro se ha definido como coolParamName en la parte inferior , pero "consumido" por el código escrito arriba . Esto me parece extraño, porque siento que es natural definir primero y luego usar después, ¿soy solo yo? ¿Escribí un código que va en contra del patrón de diseño previsto?

Me gustaría entender cómo Express define el nombre de param y cómo router.param y router.router .

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

router.param('coolParamName') esencialmente registra una devolución de llamada que será llamada para cualquier ruta (en ese enrutador) que use el parámetro :coolParamName y coincida con la solicitud actual. La devolución de llamada se llamará una vez por solicitud ANTES de la ruta que coincide con la solicitud que contiene el parámetro :coolParamName .

Es una especie de middleware para un parámetro coincidente. Le permite configurar automáticamente algún código de configuración cada vez que ese parámetro en particular coincida en una ruta.

Podría lograr lo mismo simplemente usando una pieza de middleware en esa ruta específica también o simplemente llamando a una función dentro del controlador de ruta. Por lo tanto, esta es solo una característica sutil si usa el mismo parámetro en varias rutas.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda