Sib*_*ain 5 python amazon-web-services aws-lambda aws-api-gateway
我在AWS API Gateway中创建了一个调用Lambda函数的API.这是我用来返回几乎类似于Python Lambda Blueprint的application/json响应的代码:
def response(status_code, response_body=None):
return {
'statusCode': status_code,
'body': json.dumps(response_body) if response_body else json.dumps({}),
'headers': {
'Content-Type': 'application/json',
},
}
Run Code Online (Sandbox Code Playgroud)
目前我只有一个HTTP状态代码200.我很难为这个响应制作模型模式.
如何让身体摆脱这种反应并将其正确显示给消费者?
编辑: 我需要使用Lambda代理集成创建我的API,因为在这里我从Lambda返回响应而根本不转换它.此外,这里不需要模型架构.有关详细信息,请阅读接受的答案.
注意:为避免请求的资源上没有"Access-Control-Allow-Origin"标头.错误.只需添加'Access-Control-Allow-Origin': '*'标题即可Content-Type
干杯!
只是为了确保我们对 API Gateway 术语的理解一致:
如果您计划为 API生成 SDK(当前支持 Java、iOS、Android、Javascript),则仅需要模型架构来对 API 的输入/输出进行建模
映射模板可用于将方法请求的输入转换为集成请求,并将集成响应的输出转换为最终方法响应。
如果您不需要执行任何转换,API Gateway 中的代理资源类型允许您将方法请求代理/传递到集成中,并将集成响应代理到方法响应中,而无需处理映射模板。
除非您明确需要在 API 网关层转换 Lambda 输出,否则我建议您研究代理资源类型,它与 ANY 方法和贪婪路径变量一起应该只是您的 API 网关配置,以实现最简单的传递/代理用例。
https://aws.amazon.com/blogs/aws/api-gateway-update-new-features-simplify-api-development/
| 归档时间: |
|
| 查看次数: |
4119 次 |
| 最近记录: |