我在Stack Overflow上没有发现任何内容,而且许多使用过AWS的人都知道,他们的文档可能很麻烦。如果我只需要一些文档的说明,那么谢谢您的链接。
我已经为客户构建了一个API端点。网关后面的所有内容都可以正常工作,但是我想为客户提供不同的消息以进行成功响应,而不是200状态代码,其内容为:null
。
我进入了API Gateway的“模型”菜单。我曾尝试对错误响应进行逆向工程,但它似乎带有一个对象,但在200s上仍然为空。
错误模型架构,API网关默认设置:
{
"$schema" : "http://json-schema.org/draft-04/schema#",
"title" : "Error Schema",
"type" : "object",
"properties" : {
"message" : { "type" : "string" }
}
}
上面JSON中的此URL指向一个我不知道如何使用的架构文件。
如果API密钥不正确,网关将返回
{
"message": "Forbidden"
}
我如何让API网关成功返回以下内容?:
{
"message": "Success"
}
代替
null
答案 0 :(得分:0)
我的一个错误是,即使我将其用作lambda函数的网关,我仍然依靠API Gateway做出响应。
在lambda中:
let fetch = require('node-fetch');
exports.handler = async function(event, context) {
event = JSON.stringify(event);
await fetch(url, {method: 'POST', body: event});
context.succeed({message: "Success"});
};
我必须使函数异步,然后等待提取的响应。一旦我知道我可以使用回调并返回消息。现在一切正常。我对邮递员的回答是
{
"message": "Success"
}
您还可以为其他响应类型添加条件,或者使用.then().catch()
处理成功和失败。解决方案不是要求API网关回答,而是要使用网关的端点。
希望这对某人有帮助。