Как настроить ответ контроллера с конкретными выходами из помощника? - PullRequest
0 голосов
/ 24 июня 2019

Я использую Sails.js v1.2.2 и организую свои контроллеры одним файлом, а не действием 2. Также я использую помощники в своих контроллерах.

Теперь, когда помощник запускает какой-то выход, отличный от успеха, контроллер автоматически отвечает определенным форматом, таким как

{ "причина": { "имя": "Исключение", "code": "ParameterError", "exit": "ParameterError", "traceRef": {}, "raw": { msgstr "Мое личное сообщение" } }, "isOperational": правда, "code": "ParameterError", "exit": "ParameterError", "traceRef": {}, "raw": { msgstr "Мое личное сообщение" } }

Как я могу настроить данные ответа, когда помощник завершается неудачно?

Я пробовал настраиваемые выходы в файле помощника, но не работает.

1 Ответ

0 голосов
/ 26 июня 2019

U можно использовать генератор паруса.sails generate response myCustomHandler.Проверьте документы для пользовательских ответов.

Затем просто попробуйте поймать помощника, как в примере:

try {
  await sails.helpers.test()
    .intercept({ code: 'test' }, ()=>{ return new Error('err1') })
} catch (e) {

  if (e.message === 'err1') {
    return res.badRequest('Test Bad request')
  } else if (e.code === 'ParameterError') {
    return res.serverError('Parameter Error Message in server error')
  } else {
    return res.myCustomHandler('Test Custom handler')
  }

Это пример с перехватом, который вы можете использовать, чтобы сделать больше пользовательских вещей,Просто игнорируйте это, если вам это не нужно.Если вы используете actions2, вернитесь с этим утверждением.return this.res.myCustomHandler('Some error').
В файле myCustomHandler.js вы можете отформатировать ошибку.Проверьте это документы .

...