Передача параметра строки запроса в Response AWS API Gateway - PullRequest
0 голосов
/ 13 декабря 2018

Я создал фиктивный API в сервисе AWS API Gateway.

В моем ресурсе GET у меня есть параметр строки запроса с именем Id, который я хотел бы передать из запроса в ответ, поэтомучто любой идентификатор, введенный при вызове, возвращается вместе с фиктивными данными в ответе API.

В моем запросе метода я определил параметр строки запроса URL-адреса "Id".

В моем запросе на интеграцию в шаблонах сопоставления я сопоставил этот входной параметр с элементом с тем же именем ....

{"Id" : "$input.params('Id')"}

Однако я не понимаю и как ссылаться на это в своем ответе на интеграциюшаблон сопоставления.Я пытался ссылаться на «Id» или «Id», но каждый раз, когда это просто возвращает текст «Id» или «Id», а не значение Id.

Мой шаблон отображения ответов выглядит следующим образом ....

[
 {
  "Data":{
  "ItemId":'Id',
  "name": "Bread",
  "Quantity": 1000
  "Price": 1.50
  }
 }
]

Я хотел бы заполнить "ItemId" значением "Id", которое вводится при вызове вызова API.

Я несколько раз просматривал документацию, но не мог понять, как этого добиться.

Помогите мне, пожалуйста, ТАК ......

1 Ответ

0 голосов
/ 13 декабря 2018

Вы также пытались использовать его в ответе:

[
 {
  "Data":{
  "ItemId": "$input.params('Id')",
  "name": "Bread",
  "Quantity": 1000,
  "Price": 1.50
  }
 }
]

Запятая отсутствует после 1000.

Вы также можете использовать ее, чтобы получить все параметры строки запроса:

{
#foreach($param in $input.params().querystring.keySet())
    ""$param"": ""$input.params().querystring.get($param)"" #if($foreach.hasNext),#end
#end
}        

Для отображения шаблонов используется Apache Velocity Template Language (VTL).http://velocity.apache.org/engine/1.7/vtl-reference.html

Из документации сайта VTL:

Скорость предоставляет простой способ получить счетчик циклов, чтобы вы могли сделать что-то вроде следующего:

#foreach( $customer in $customerList )
<tr><td>$foreach.count</td><td>$customer.Name</td></tr>
#end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...