路线数量有限制吗?

Is there a limit to the number of routes?

这是我关于 Express.Router 的问题。我需要这 4 条路线在同一个端点“/pets/...”上工作:

petRouter.get("/", petController.getAll);
petRouter.get("/:id", petController.getPetById);
petRouter.get("/mypets", verifyToken, petController.getAllUserAdoptions);
petRouter.get("/myadoptions", verifyToken, petController.getAllUserAdoptions);

但问题是我无法将第二个 ("/:id") 与其余的一起使用。它不断破坏服务器并给我这个错误:

    return new sequelizeErrors.DatabaseError(err);
                   ^
    DatabaseError [SequelizeDatabaseError]: invalid input syntax for type integer: "mypets" 
     ...

当我独立使用它们时,它们都工作得很好。有什么我不知道的限制吗?

请求GET /pets/mypets同时匹配第二条和第三条路由。在第二条路线中,这导致 req.params.id = "mypets",但 petController.getPetById 可能假定这是一个整数。因此,您观察到的错误。