我使用带有lambda集成的API网关。我在代码中抛出以下错误:
throw new Error('[400] xxxx')
我没有在API网关中配置任何响应模板,因此客户端将收到此错误:
{
"errorType": "Error",
"errorMessage": "[400] Customer's id 1234 doesnt exist.",
"trace": [
"Error: [400] Customer's id 1234 doesnt exist.",
" at CustomerService.<anonymous> (/var/task/src/services/base/baseService.js:71:31)",
" at Generator.next (<anonymous>)",
" at fulfilled (/var/task/src/services/base/baseService.js:5:58)",
" at processTicksAndRejections (internal/process/task_queues.js:97:5)"
]
}
我真正想让他们看到的是Customer's id 1234 doesnt exist.
。如何使用响应模板从errorMessage
中筛选出其他属性和括号[400]
?
您应该能够执行以下映射(需要映射到您创建的400状态代码(。您还需要";匹配";请求,可能类似于:.*[400]*
:
#set($inputRoot = $input.path('$'))
{
## Assign output properties to input properties
"message": "$inputRoot.errorMessage"
}
或者更简化:
{
"message": $input.json('$.errorMessage')
}