IntelliJ HTTP Client - использование переменной, установленной из одного запроса POST в следующем JSON теле другого запроса POST - PullRequest
0 голосов
/ 13 февраля 2020

В редакторе HTTP-клиента на IntelliJ я пытаюсь сделать это:

POST http://{{host}}/path-to-my-first-resource

Content-Type: application/json

{"field1":"false",
 "field2":"test",
 "field3":"test",
}

Я получил результат вышеуказанного POST с этим:

> {%
client.global.set("my-first-returned-var", response.body.json.var1);
client.global.set("my-second-returned-var", response.body.json.var2);
client.global.set("my-third-returned-var", response.body.json.var3); 
%}

Переменные были вернулся с успехом. Таким образом, я пытаюсь использовать эти переменные в последующем POST, например:

POST http://{{host}}/path-to-my-second-resource

Content-Type: application/json

{"anotherfield1":"{{my-first-returned-var}}",
 "justanother":"{{my-second-returned-var}}"
}

Я пытался отправить переменные в теле с кавычками и без кавычек, но IntelliJ не переводил переменные в двойные Curlies. Я могу использовать переменные в заголовке HTPP, например:

GET https://my-request
Authorization: Bearer {{my-first-returned-var}}

Но я не мог использовать эти переменные в теле JSON.

API, который я пытаюсь использовать, - это REST-контроллер Spring Boot, который использует библиотеку Jackson lib для десериализации тела из запроса в Java объект. Сообщение об ошибке, возвращаемое Spring Boot, выглядит примерно так:

JSON ошибка анализа: невозможно десериализовать экземпляр java.lang.String из токена START_OBJECT; вложенное исключение: com.faster xml .jackson.databind.ex c .MismatchedInputException

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