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

112
Visualizações
Mejores prácticas para la arquitectura de rutas

Estoy tratando de configurar rutas para mi backend. Tengo dos formas en las que he intentado configurar estas rutas, y me pregunto cuál se ajusta a las mejores prácticas (¿o ninguna?). Las diferencias son mínimas, pero me encantaría saber si hay un "mejor" objetivo aquí.

Aquí están mis intentos:

 const express = require("express"); const router = express.Router(); const flashcardController = require('../controllers/flashcardController'); router.get('/', flashcardController.readFlashcard); router.post('/', flashcardController.createFlashcard); router.patch('/', flashcardController.updateFlashcard); router.delete('/', flashcardController.deleteFlashcard); module.exports = router

contra

 const express = require("express"); const router = express.Router(); const flashcardController = require('../controllers/flashcardController'); module.exports = (app) => { router.get('/api/flashcard', flashcardController.readFlashcard); router.post('/api/flashcard', flashcardController.createFlashcard); router.patch('/api/flashcard', flashcardController.updateFlashcard); router.delete('/api/flashcard', flashcardController.deleteFlashcard); app.use('/', router); };

Por supuesto, mi archivo app.js (punto de entrada para mi backend) deberá codificarse de manera ligeramente diferente para cada una de estas opciones.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si cree que el trabajo de un enrutador es solo manejar algunas solicitudes que recibe y es el trabajo del código de llamada colocar el enrutador en cualquier ruta en la que el código de llamada quiera que opere, entonces solo su primera opción servirá. que. Esto permitiría que una persona que llama use estas rutas en cualquier ruta que desee.

Si desea que el módulo que implementa las rutas sea completamente autosuficiente e instale las rutas en la ruta en la que quiere que estén, solo la segunda opción lo hace.

Diría que el esquema "usual" y más "flexible" es el primero donde el llamador coloca las rutas en el camino donde las quiere. Pero eres libre de elegir el estilo que quieras.

La segunda opción no se implementa de manera particularmente eficiente por lo que podría mejorarse. No se necesita ningún enrutador, ya que las rutas se pueden instalar directamente en el objeto de la app . Y se puede evitar repetir /api/flashcard varias veces.

Por ejemplo, la segunda opción podría ser esta:

 const controller = require('../controllers/flashcardController'); const routePath = '/api/flashcard'; module.exports = (app) => { app.get(routePath, controller.readFlashcard); app.post(routePath, controller.createFlashcard); app.patch(routePath, controller.updateFlashcard); app.delete(routePath, controller.deleteFlashcard); };

O incluso solo esto:

 const controller = require('../controllers/flashcardController'); module.exports = (app) => { app.route('/api/flashcard') .get(controller.readFlashcard) .post(controller.createFlashcard) .patch(controller.updateFlashcard) .delete(controller.deleteFlashcard); };

Y, el primero podría simplificarse a esto:

 const router = require("express").Router(); const controller = require('../controllers/flashcardController'); router.route('/') .get(controller.readFlashcard) .post(controller.createFlashcard) .patch(controller.updateFlashcard) .delete(controller.deleteFlashcard); module.exports = router
about 4 years ago · Juan Pablo Isaza 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