Curl GET request with json parameter
This should work :
curl -i -H "Accept: application/json" 'server:5050/a/c/getName{"param0":"pradeep"}'
use option -i instead of x.
If you really want to submit the GET request with JSON in the body (say for an XHR request and you know the server supports processing the body on GET requests), you can:
curl -X GET \
-H "Content-type: application/json" \
-H "Accept: application/json" \
-d '{"param0":"pradeep"}' \
"http://server:5050/a/c/getName"
Most modern web servers accept this type of request.
If you want to send your data inside the body, then you have to make a POST
or PUT
instead of GET
.
For me, it looks like you're trying to send the query with uri parameters, which is not related to GET
, you can also put these parameters on POST
, PUT
and so on.
The query is an optional part, separated by a question mark ("?"), that contains additional identification information that is not hierarchical in nature. The query string syntax is not generically defined, but it is commonly organized as a sequence of = pairs, with the pairs separated by a semicolon or an ampersand.
For example:
curl http://server:5050/a/c/getName?param0=foo¶m1=bar
GET takes name value pairs.
Try something like:
curl http://server:5050/a/c/getName/?param1=pradeep
or
curl http://server:5050/a/c/getName?param1=pradeep
btw a regular REST should look something like
curl http://server:5050/a/c/getName/pradeep
If it takes JSON in GET URL, it's not a standard way.