【发布时间】:2020-06-12 13:42:43
【问题描述】:
我对 AWS API Gateway 比较陌生。我正在尝试在 API 网关的 OpenAPI 定义中使用 OpenAPI Components。
我正在尝试为集成响应构建可重复使用的响应,如下所示。
这是一个可重用的 400 响应组件(连同它的映射模板):
components:
responses:
BAD_REQUEST:
statusCode: "400"
responseTemplates:
application/json: "#set($inputRoot = $input.path('$'))\n{ \n \"message\"\
: \"Invalid Request Body\"\n}"
我正在尝试在 API 网关集成中的响应下使用它,如下所示:
x-amazon-apigateway-integration:
<API_GATEWAY_CONFIG_GOES_HERE>
responses:
.*"BadRequest".*:
$ref: '#/components/responses/BAD_REQUEST'
当我部署整个 CloudFormation 堆栈时,我遇到了该错误并且无法部署堆栈:
无法将集成响应放在路径“/test_resource”的资源的“POST”上:集成响应状态代码必须为非空
有什么想法吗?
【问题讨论】:
-
你得到答案了吗?
-
@Pablo,很遗憾没有。
-
您尝试过 YAML 锚点吗?尽管它们不属于 OpenApi 和 cloudformation 的范围,但这可能适合您的情况。 stackoverflow.com/questions/53297072/… 我仍在寻找更好的替代方案,因为如果您使用来自 aws 文档的锚点,您需要在
deploy之前运行pakage命令,您可以试试这个:docs.aws.amazon.com/apigateway/latest/developerguide/… 但我无法得到它虽然工作!
标签: amazon-web-services amazon-cloudformation aws-api-gateway openapi aws-cloudformation-custom-resource