我在Stack Overflow上没有发现任何东西,而且许多使用过AWS的人都知道,他们的文档可能很麻烦。如果只需要一些文档,我将非常感谢您提供该链接。
我已经为客户建立了一个API端点。网关后面的所有内容都可以正常工作,但是我想为客户提供不同的消息以进行成功响应,而不是200状态代码,其内容为:null
。
我已经进入API网关的“模型”菜单。我试图对错误响应进行逆向工程,但是它似乎带有一个对象,但在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
我的错误之一是,即使我将其用作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网关回答,而是要使用网关的端点。
希望这对某人有帮助。