http - IntelliJ HTTP 客户端 - 在另一个 POST 请求的后续 JSON 正文中使用从一个 POST 请求设置的变量

标签 http intellij-idea client

在 IntelliJ 上的 HTTP 客户端编辑器中,我试图这样做:

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 没有翻译双 curl 中的变量。我可以在 HTPP Header 上使用变量,例如:
GET https://my-request
Authorization: Bearer {{my-first-returned-var}}

但是我无法在 JSON 正文中使用这些变量。

我尝试使用的 API 是一个 Spring Boot REST Controller ,它使用 Jackson lib 将主体从请求反序列化为 Java 对象。 Spring Boot 返回的错误信息是这样的:

JSON 解析错误:无法反序列化 java.lang.String 的实例超出 START_OBJECT token ;嵌套异常是 com.fasterxml.jackson.databind.exc.MismatchedInputException

最佳答案

我知道你几个月前问过这个问题,但你试过这个:client.global.set("my-first-returned-var", JSON.stringify(response.body.json.var1));

关于http - IntelliJ HTTP 客户端 - 在另一个 POST 请求的后续 JSON 正文中使用从一个 POST 请求设置的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60213746/

相关文章:

Apache 2 : Environment variables for user http

http - Charles 代理格式错误的请求 url 错误

file - HTTP 下载如何在 TCP 数据包内分段?

java - Intellij throw 错误新创建的恶魔进程与预期的上下文不同。 java的家是不同的

java - 未找到 Java 类型的消息正文编写器 mime 类型 application/x-www-form-urlencoded

java - GWT:解析 CSS 样式属性

ajax - 是否可以使用 HTTP 接收乱序响应?

java - Apache Tomcat 服务器不显示在 Intellij Idea 14 Ultimate 的 doGet() 方法中创建的 HTML

在带有 Play 2.0 项目的 Intellij IDEA 11 中找不到 Scala 编译器

python - 当 websocket 连接发生时, session 变量值不会更新 - Python