Aquí está mi problema con Express.Router. Necesito estas 4 rutas para trabajar en el mismo punto final "/mascotas/...":
petRouter.get("/", petController.getAll); petRouter.get("/:id", petController.getPetById); petRouter.get("/mypets", verifyToken, petController.getAllUserAdoptions); petRouter.get("/myadoptions", verifyToken, petController.getAllUserAdoptions);
Pero lo que pasa es que no puedo usar el segundo ("/:id") junto con el resto. Sigue rompiendo el servidor y me da este error:
return new sequelizeErrors.DatabaseError(err); ^ DatabaseError [SequelizeDatabaseError]: invalid input syntax for type integer: "mypets" ...
Y cuando los uso de forma independiente, todos funcionan bien. ¿Hay algún tipo de limitación que desconozco?
La solicitud GET /pets/mypets
coincide con la segunda y la tercera ruta. En la segunda ruta, esto conduce a req.params.id = "mypets"
, pero petController.getPetById
probablemente asume que se trata de un número entero. De ahí el error que observaste.