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

问题描述 投票:0回答:1

我在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

amazon-web-services aws-api-gateway api-gateway
1个回答
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网关回答,而是要使用网关的端点。

希望这对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.