使用 curl 解析时无法转义退出的星号 "*" 作为来自 Jenkins 管道的 post 请求



我有另一个java应用程序读取的XML配置文件的一部分。该值被传递用于过滤,groovy通过管道将其放入文件中。问题是,当groovy试图解析双引号中的星号时,我找不到转义它的方法。

我试过了"*"还有很多用单引号和双引号表示的变量,然后把它作为值带进来,这是行不通的

curl --location --request POST some.link/api/.../properties --header 'X-Corellation-Id: abcd' --header 'Content-Type: application/json' -d '{"addOrUpdate": [{ "name": "pod1" , "properties": { "DOMAIN" : "<domain type="*"</" }}]}

& lt; & lt;执行后我们看到:在在在在在

请更正后再发。

","reason":"Malformed request body","details":[{"field":null,"messages":["JSON parse error: Unexpected character ('' (code 42)): was expecting comma to separate Object entries; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected character ('*' (code 42))

您可以尝试以下操作吗?

script {
def data = '{"addOrUpdate": [{"name": "pod1","properties": {"DOMAIN": "<domain type="*" </"}}]}'
writeFile(file: 'data.json', text: data)
sh "cat data.json"
sh "curl -v --request POST http://localhost:8080 --header 'X-Corellation-Id: abcd' --header 'Content-Type: application/json' -d @data.json"           
}

最新更新