I have been asked to call a restful api via Unix environment. Is there a bug in my command so i got blow issue?
I have tried looking at the curl --help but the thing that I could find that might help would be the way to pass in param key-pair. Could it be possible to give me an example how to debug such api calling?
$ curl -d param1=xxx¶m2=yyy -X POST https://restful_api_path/lifecycle/v1/resource_node
[1] 10276
[2] 10277
-ksh: -X: not found [No such file or directory]
[2] + Done curl -d param1=xxx¶m2=yyy -X POST https://restful_api_path/lifecycle/v1/resource_node
$ curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
Cheers
You need to enclose your params in single or double quotes. e.g.
curl -d 'param1=xxx¶m2=yyy' -X POST https://restful_api_path/lifecycle/v1/resource_node
This is because the &
operator in BASH is used to signify that the command should continue to run the in background, hence it must be quoted or escaped if you want a literal ampersand.
I think you need to add double quotes to quote arguments:
curl -d "param1=xxx¶m2=yyy" -X POST https://restfulurl/lifecycle/v1/resourcenode
P.S. On Windows you need to use double quotes, not single quotes. But in Unix, it supports both double and single quotes to quote arguments. So below cmd are fine also:
curl -d 'param1=xxx¶m2=yyy' -X POST https://restfulurl/lifecycle/v1/resourcenode
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With