在aws步骤函数中,我需要使用先前状态值的路径参数来调用api网关端点。

步骤功能代码(Api网关调用)
"API Gateway Request": {
"Type": "Task",
"Resource": "arn:aws:states:::apigateway:invoke",
"Parameters": {
"ApiEndpoint": "****.amazonaws.com",
"Method": "GET",
"Headers": {
"Accept": [
"application/json"
]
},
"Stage": "dev",
"Path": "/sample/$.id",
"AuthType": "IAM_ROLE"
},
"InputPath": "$.id",
"Next": "Lambda Invoke",
"ResultPath": "$.myStateInput"
}
Run Code Online (Sandbox Code Playgroud)
该状态的输入:
{ "id": "1231" }
Run Code Online (Sandbox Code Playgroud)
它不是将“$.id”替换为“1231”,而是像下面这样调用 url
API网关:
请告诉我做错了什么?
我使用 jackson xml 生成 xml,用于生成 jackson xml 的我的 POJO 类如下:
public class data {
@JacksonXmlProperty(localName="Element")
Element element = new Element();
}
Run Code Online (Sandbox Code Playgroud)
public class Element {
@JacksonXmlProperty(localName="element1")
private List<String> element1;
public List<String> getElement1() {
return element1;
}
public void setElement1(List<String> element1) {
this.element1 = element1;
}
}
Run Code Online (Sandbox Code Playgroud)
我期待这样的输出:
<Element>
<element1></element1>
<element1></element1>
<element1></element1>
</Element>
Run Code Online (Sandbox Code Playgroud)
但我得到:
<Element>
<element1>
<element1></element1>
<element1></element1>
<element1></element1>
<element1>
</Element>
Run Code Online (Sandbox Code Playgroud)
怎么解决这个问题?