Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

113
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda