Intellij Idea IntelliJ HTTP客户端-在另一个POST请求的后续JSON主体中使用来自一个POST请求的变量集

jxct1oxe  于 2023-11-16  发布在  其他
关注(0)|答案(1)|浏览(102)

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

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

Content-Type: application/json

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

字符串
我得到了上面的帖子的结果:

> {%
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}}"
}


我试着在body中发送带引号和不带引号的变量,但IntelliJ没有翻译双curlies中的变量。我可以在HTPP Header上使用变量,比如:

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


但是我不能在JSON体中使用这些变量。
我尝试使用的API是一个Sping Boot REST Controller,它使用Jacksonlib将请求的主体转换为Java Object。Sping Boot 返回的错误消息类似于:
JSON解析错误:无法将java.lang.String的示例从START_OBLOG标记中移除;嵌套异常为com.fasterxml.Jackson.databind.exc。MismatchedInputException

lymnna71

lymnna711#

我知道你几个月前问过这个问题,但你试过这个吗?

client.global.set("my-first-returned-var", JSON.stringify(response.body.json.var1));

字符串

相关问题