我正在使用Sails.js v1.2.2,并使用单个文件而不是操作2来组织控制器。此外,我在控制器中使用了帮助程序。
现在,当助手触发成功以外的其他退出时,控制器将自动以特定格式响应,例如
{ “原因”:{ “ name”:“ Exception”, “ code”:“ ParameterError”, “ exit”:“ ParameterError”, “ traceRef”:{}, “生的”: { “ msg”:“我的自定义消息” } }, “ isOperational”:是的, “ code”:“ ParameterError”, “ exit”:“ ParameterError”, “ traceRef”:{}, “生的”: { “ msg”:“我的自定义消息” } }
当助手退出失败时,如何自定义响应数据?
我已尝试在帮助程序文件中自定义退出,但不起作用。
答案 0 :(得分:0)
U可以使用Sails生成器。 sails generate response myCustomHandler
。检查docs以获得自定义响应。
然后尝试像示例中那样捕获辅助程序:
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')
}
这是一个拦截示例,您可以使用它来做更多的自定义操作。如果您不需要它,请忽略它。如果您使用action2,则返回此语句。 return this.res.myCustomHandler('Some error')
。
在myCustomHandler.js文件中,您可以格式化错误。选中此docs。