Отправить объект JSON в Hapijs Route

У меня есть метод, который получает результаты запроса из базы данных и отправляет один из результатов в качестве параметра в URL-адресе на один из моих маршрутов в Hapi.js. Могу ли я в любом случае отправить объект JSON на свой маршрут?

Маршрут

    {
    method: 'GET',
    path: '/Account/{Tag}',
        config: {
            validate: {
                query: {
                    tag: Joi.string()
                }
            }
        },
    handler: function(request, reply) {
            var tag = encodeURIComponent(request.params.Tag);
            reply.view('Account/index', {tag: tag});
    }
  }

Метод/запрос

/**
   * Check if Account exists in database, then login
   * @param {String} request.query.email
   * @param {String} request.query.password
   */
  login: function(request, reply) {
    connection.query('SELECT email AS email, tag AS tag FROM users WHERE email = ? AND password = ?', [request.query.email, sha256(request.query.password)], function(error, results, fields) {
      if (results[0]) {
        //reply.(results[0]).created('/Account/' + results[0].tag);
        reply.redirect('/Account/' + results[0].tag);
      } else {
        reply.redirect('/Error');
      }
    });
  },

person Jerrell Jones    schedule 04.07.2016    source источник


Ответы (2)


Я нашел обходной путь к моей проблеме. Я запрашиваю информацию, которая мне нужна, используя другой запрос в MySQL, сохраняя ответ моих маршрутов внутри обратного вызова запроса.

person Jerrell Jones    schedule 05.07.2016

Я не уверен, правильно ли понял ваш вопрос, но, вероятно, вы можете это сделать, просто расширив точку расширения pre-handler, чтобы решить этот случай.

Если вы используете pre-handler, вы можете просто запросить и сохранить в свойстве запроса необходимую информацию.

http://hapijs.com/api#request-lifecycle

person Marcos Bergamo    schedule 06.07.2016