По моему надо полностью пересмотреть структуру роутов.
dog || cat || monkey это по сути параметр, я бы использовал query параметры, и обрабатывал бы 1 роут /images, что то вроде
router.post('/images', imagesControler.uploadImages)
router.get('/images', imagesControler.getImages)
А в контролере из request.query можно и лимиты для пагинации настроить да и больше свободы для масштабирования и на фронте это будет не проблемно реализовывать