我已经阅读了无服务器和AWS的文档,但是我没有得到响应模板。我有一个lambda函数,该函数调用另一个模块,并且该模块将返回带有info
和可能是error
属性的对象。如果error属性存在,我想抛出一个错误并使用API Gateway中的响应模板来处理它。
serverless.yml(不确定400 pattern
)
functions:
onboard:
handler: api/onboard.onboard
events:
- http:
path: /onboard
method: post
integration: lambda
request:
passThrough: NEVER
schema:
application/json: ${file(models/onboard.schema.json)}
template:
application/json: $input.body
response:
200:
pattern: ''
400:
pattern: '.*"error".*' // WHAT GOES HERE???
template: $input.path('$.errorMessage')
拉姆达
const onboard = async (event) => {
// returns an object with info/error property
const response = await someModule();
/* example response
const response = {
error: 'some error',
name: event.name
};
*/
if(response.error) {
context.done(JSON.stringify(response));
}
return response;
};
我没有statusCodes
财产。
functions:
onboard:
handler: api/onboard.onboard
events:
- http:
path: /onboard
method: post
integration: lambda
request:
passThrough: NEVER
schema:
application/json: ${file(models/onboard.schema.json)}
template:
application/json: $input.body
response:
statusCodes:
200:
pattern: ''
400:
pattern: '.*"error".*'
template: $input.path('$.errorMessage')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句