Hapjs Route Prerequisite 被执行并且路由总是返回 404

Hapjs Route Prerequisite is executed and route is always returning 404

我正在使用 Hapijs 构建 Web 应用程序。我正在使用路由先决条件在执行路由处理程序之前做一些事情。

这是我的路线

server.route([
    {
        method: 'GET',
        path: '/users',
        pre: {
            assign: 'Test',
            method: async (request, h) => {
               console.log('Pre route is executed.');
               return "test data";
            }
        },
        handler: userController.getUsers,
        options: {
            auth: 'jwt-auth'
        }
    },
])

但是我执行代码的时候,并没有执行路由前的方法。当包含路由前处理程序时,它总是返回 404 not found 响应。没有它,它正在工作。我的代码有什么问题,我该如何解决?

根据"pre documentation",“pre”应该放在“options”里面属性并且应该是一个数组

这是您的代码的示例:

server.route([
  {
    method: 'GET',
    path: '/users',
    handler: userController.getUsers,
    options: {
      auth: 'jwt-auth',
      pre: [{
        assign: 'Test',
        method: async (request, h) => {
          console.log('Pre route is executed.');
          return "test data";
        }
      }]
    }
  },
])

您可以像这样在处理程序中访问您的“预”数据:const data = req.pre.Test