我使用 openapi 3.0 构建我的 APIGW 端点,我的 APIGW 调用 ECS Fargat 服务运行状况端点 (
/actuator/health
)。当我看到“状态”:“UP”时,我试图更改“$context.responseOverride.status
”并添加新字段。问题总是“$input.path('$')
”为空。当我使用“$input.json('$')
”获取对象值而不是文本格式值时,“$input.json('$').toString()
”无助于设置相同的对象值。“$input.body
”打印对象。
/sample:
get:
response:
"200":
content:
application/json:
schema:
$ref: "some component"
x-amazon-apigateway-integration:
timeoutInMillis: 29000
uri : "https://<<ECS Fargate Service Endpoint>>/actuator/health"
type: "HTTP"
httpMethod: "GET"
connectionType: "VPC_LINK"
connection_id: <<some value>>
passthroughBehaviour: "when_no_match"
response:
default:
statusCode: "200"
responseTemplates:
application/json: "#set($inputRoot = $input.path('$'))\n{\n\"status\":\"TEST\"\n}"
contentHandling: "CONVERT_TO_TEXT"
尝试使用简单引号并在字符串内转义双引号
'#set($inputRoot = $input.path($))\n{\n\"status\":\"TEST\"\n}'