我正在使用 API,但无法将整数变量绑定到其中。我将在下面附上我的脚本,但一点解释不会有什么坏处:另一个脚本过滤通过curl发送的数据,大部分数据是字符串,但API强制这个数据是整数。
curl \
--data '{"version":"2.0",
"method":"cmdb.object.create",
"params":{"type":"C__OBJTYPE__VIRTUAL_SERVER",
"title":"'"${name}"'",
"categories":{"C__CATG__IP": [ { "ipv4_address" : "'"${ip}"'" } ],
"C__CATG__VIRTUAL_MACHINE__ROOT": [ { "hosts": $host, "description" : "'"${ops}"'" } ]
},
"apikey":"apikey"},"id": 1 }' \
--header "Content-Type: application/json" \
https://someURL
其中名称可以是“VirtualMachine1”、ipv4_address“1.2.3.4”、主机 736、操作“Windows 7”。
此卷曲的错误代码为:code":-32600,"message":"无效请求:提供的请求不是有效的 json rpc。"
如果我只写一个数字而不是 $host ,它就会起作用,所以我想我只是错误地绑定了变量。
一个有效且有效的请求是:
curl \
--data '{"version":"2.0",
"method":"cmdb.object.create",
"params":{"type":"C__OBJTYPE__VIRTUAL_SERVER",
"title":"'"${name}"'",
"categories":{"C__CATG__IP": [ { "ipv4_address" : "'"${ip}"'" } ],
"C__CATG__VIRTUAL_MACHINE__ROOT": [ { "hosts": 123, "description" : "'"${ops}"'" } ]
},
"apikey":"apikey"},"id": 1 }' \
--header "Content-Type: application/json" \
https://someURL