next-connect TypeError: handlers[(i++)] не является функцией
Я пытаюсь реализовать подход route-> middleware-> endpoint api в Next.js, используя библиотеку next-connect. Все работало нормально, пока я не добавил
.post()
конечная точка к Insance следующего подключения.
// pages/api/index
import { protect, restrictTo, createUser } from 'api-lib/controllers/authController'
import { getAllUsers } from 'api-lib/controllers/userController'
import all from 'api-lib/middlewares/all';
const route = all() // next-connect instance with options privided
route.use(protect) // rotect the route
.use(restrictTo('admin')) // restrict the route to admin
.get(getAllUsers)
export default route;
затем я добавил конечную точку .post ()
route.use(protect) // rotect the route
.use(restrictTo('admin')) // restrict the route to admin
.get(getAllUsers) // ---- works fine until here
.post(createUser) // !!! got error
и получил эту ошибку TypeError: handlers[(i++)] не является функцией.
В
createUser
функция работала правильно, когда я тестировал ее на другом маршруте.
Какие-либо предложения? Может быть, это ошибка «следующего подключения»?
1 ответ
Я нашел проблему. На самом деле я импортировал
createUser
из неправильного файла по ошибке.
измененный
// pages/api/index
import { protect, restrictTo, createUser } from 'api-lib/controllers/authController'
import { getAllUsers } from 'api-lib/controllers/userController'
к
// pages/api/index
import { protect, restrictTo } from 'api-lib/controllers/authController'
import { getAllUsers, createUser } from 'api-lib/controllers/userController'