1
使用API網關,我想攔截集成請求,更改模型,然後通過正文映射模板將其轉發到端點。用於請求單個更改的API網關映射模板
例如,我想將MatterGUID屬性更改爲MatterId +值。
如果我在模板中包含我的整個模型,它會正常工作;
#set($inputRoot = $input.path('$'))
{
"Property1" : "$inputRoot.Property1",
"MatterId" : "$inputRoot.MatterGUID",
"Property2" : "$inputRoot.Property2",
"Property3" : "$inputRoot.Property3"
}
但是,我想通過只更新需要更改的字段來更新我的模型。即是這樣的:
#set($inputRoot = $input.path('$'))
{
"MatterId" : "$inputRoot.MatterGUID"
}
然而,這樣做將通過到端點僅傳遞MatterId,不是所有的其他財產 - 我可以理解,爲什麼出現這種情況,但想知道什麼,我缺少的,以包含整個對象,但包含更改後的MatterGUID值。
幾乎像如果我能運行在模型的replaceAll,併爲它僅影響性能,我想: $inputRoot.Replace("MatterGUID", "MatterId")
這是否意味着我需要爲每個我想定製的映射模板包含整個模型?即使用正文映射中的「生成模板」,並根據需要調整屬性? – Hexie