创建自定义成功 AWS API 网关模型

Create a custom success AWS API Gateway model

我在 Stack Overflow 上没有找到任何东西,而且许多使用过 AWS 的人都知道,他们的文档可能很繁琐。如果我只需要指向一些文档,我将不胜感激 link.

我已经为客户构建了一个 API 端点。网关后面的一切工作正常,但我想为我的客户提供不同的消息以获得成功响应,而不是 200 状态代码和正文:null.

我进入了 API Gateway 中的模型菜单。我试图对错误响应进行逆向工程,但它似乎需要一个对象,但我的 200 秒仍然为空。

错误模型架构,默认在 API 网关:

{
  "$schema" : "http://json-schema.org/draft-04/schema#",
  "title" : "Error Schema",
  "type" : "object",
  "properties" : {
    "message" : { "type" : "string" }
  }
}

上面 JSON 中的这个 URL 指向一个我不知道如何使用的架构文件。

如果 API 密钥不正确,网关 returns

{
   "message": "Forbidden"
}

如何让 API 网关 return 成功后?:

{
   "message": "Success"
}

而不是

null

我的一个错误是我依赖 API 网关给出响应,即使我将它用作 lambda 函数的网关。

在 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"});

};

我不得不让我的函数异步,并等待我的 fetch 响应。一旦我知道我可以使用回调和 return 消息。现在一切正常。我在邮递员中的回复是

{
    "message": "Success"
}

您也可以为其他响应类型添加条件,或者 .then().catch() 来处理成功和失败。解决方案不是要求 API 网关回答,而是要求您使用网关的端点。

希望这对某人有所帮助。