Как вызвать Invoke-RestMethod в powershell для каждой записи JSON - PullRequest
1 голос
/ 13 апреля 2020
$person = @{

  "Username"="Test3";
  "Password"="Test3";
}
$json = $person | ConvertTo-Json
Invoke-RestMethod -Method POST -Header $Header -ContentType "application/json" -uri "http://testa.katest.com/CreateUsers/api/v1.0/Users" -Body $json

Вышеупомянутый сценарий powershell отлично работает, а также создает имя пользователя Test3 в системе:

Но если я хотел бы вызвать этот Invoke-RestMethod для создания нескольких пользователей одновременно - какая команда должна Я пользуюсь?

1 Ответ

0 голосов
/ 13 апреля 2020

Поскольку я могу только получить информацию о вашем API, я могу предложить два возможных способа сделать это.

Если POST поддерживает массив JSON, вы можете сделать следующее:

$persons = @{
  "Username"="Test3";
  "Password"="Test3";
},@{
  "Username"="Test4";
  "Password"="Test4";
}
$json = $persons | ConvertTo-Json
Invoke-RestMethod -Method POST -Header $Header -ContentType "application/json" -uri "http://testa.katest.com/CreateUsers/api/v1.0/Users" -Body $json

Если POST поддерживает только один json с одним пользователем, вы можете сделать следующее:

$persons = @{
  "Username"="Test3";
  "Password"="Test3";
},@{
  "Username"="Test4";
  "Password"="Test4";
}
foreach ($person in $persons) {
    $json = $person | ConvertTo-Json
    Invoke-RestMethod -Method POST -Header $Header -ContentType "application/json" -uri "http://testa.katest.com/CreateUsers/api/v1.0/Users" -Body $json
}

Каждый метод основан на создании массива таблиц ha sh. Каждая таблица ha sh имеет пару ключ-значение для Username и Password. Затем вы можете выбрать итерацию или нет перед преобразованием в JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...