API Platform - Dev - all requests return empty result - api-platform.com

I have set up API platform and am trying to test the API using curl, eg.
curl -X POST -H "Content-Type: application/json" http://localhost/authentication_token -d '{"email":"test#test.com","password":"the_new_password"}'
curl http://localhost/docs
I am getting no response from the server, always blank.

Requests needed to be HTTPS, as it seems HTTP requests are simply thrown away / ignored. Add the -k flag since the certificate will be self signed and CURL will error out.
curl -X POST -H "Content-Type: application/json" https://localhost/authentication_token -d '{"email":"test#test.com","password":"the_new_password"}' -k
curl https://localhost/docs -k

Related

Cannot import Jelastic Manifest with cURL command using two -H parameters

I'm trying to create a Jelastic Manifest with a cURL command inside it. When I import it, it gives me an error but unfortunately I have no access to the console (disabled by the provider).
The command is the following :
curl -X POST <my_url> -H "Content-Type: application/json" -H "Authorization: Bearer <token>" -d "{}"
Some additionnal information :
The URL is correct 100%
The token does not contain any special characters : Only upper/lowercase characters and numbers
The command is run successfully from the command line
If I remove the first -H parameter, I can import my manifest. Same if I remove the second -H parameter and keep the first one
My guess is that, somehow, having two -H is not considered as valid but I don't know why. Any ideas ?
EDIT : A screenshot of the error shown on the platform
The "two -H parameters" wasn't a root cause in your question.
The thing is that the YAML gets the data you sent as a key/value array (dictionary).
In your example it would be:
curl -s -X POST https://test.com -H "Content-Type - as a key,
and
application/json" -H "Authorization: Bearer xx" -d "{\"Key\":\"Value\"}" - as a value.
If you need an array of strings the YAML may be as this
cmd [cp]:
- 'curl -s -X POST https://test.com -H "Content-Type: application/json" -H "Authorization: Bearer xx" -d "{\"Key\":\"Value\"}"'
If you need a multi-line string it should look like this
cmd [cp]: |
curl -s -X POST https://test.com -H "Content-Type: application/json" -H "Authorization: Bearer xx" -d "{\"Key\":\"Value\"}"

HTTP headers and values for accessing localhost

I'm trying to integrate my application to RabbitMQ. I want to send a request to my localhost, so what should be the HTTP header and its value?
Do I need a username and password to access localhost via a HTTP request?
yes you have to add username and password:
Suppose to have username and pwd as test test it will be:
Create queue:
curl -X PUT -H "Content-Type: application/json" -d '{"auto_delete":false,"durable":true,"arguments":[]}' -u test:test http://localhost:15672/api/queues/%2f/my_queue
publish a message to a queue:
curl -s -X POST -H "Content-Type: application/json" -d '{"properties":{"delivery_mode":2}, "routing_key":"my_queue","payload":"message test ","payload_encoding":"string"}' -u test:test http://localhost:15672/api/exchanges/%2f/amq.default/publish
get the queues:
curl -X GET -u test:test http://localhost:15672/api/queues/%2F
Here all the API
you need to add authorization as :

How to pass object as a query param in spring data REST

I am having a EmailRepository which queries for a person like follows
findByPerson(Person person);
The spring-data-rest /search resource list the following href
http://localhost:8080/emailAddresses{?person}
How to make a curl command for the above search url in GET method? Also if the person does not exists, I need to throw "PersonNotFoundException".
I am using org.springframework.boot:spring-boot-starter-data-rest:jar:1.3.3.RELEASE
Try the below curl commands -
if you are using path param -
curl -i -X GET -H "Content-Type: application/json" -H "Cache-Control: no-cache" -k "http://localhost:8080/emailAddresses/person"
if you are using query param -
curl -i -X GET -H "Content-Type: application/json" -H "Cache-Control: no-cache" -k "http://localhost:8080/emailAddresses?person=aaa"

How to POST request using curl with authentication

I have API http://x.xx.x.xx:xxxx/api/v1/clusters/Cluster12/commands/restart for restarting cluster.
I want to use the next command:
curl --request POST 'http://x.xx.x.xx:xxxx/api/v1/clusters/Cluster12/commands/restart'
But got the message "Full authentication is required to access this resource"
You could try:
curl -u username:passwd -X POST 'http://x.xx.x.xx:xxxx/api/v1/clusters/Cluster12/commands/restart'
With Variables:
curl --data "var1=val1&var2=val2" http://x.xx.x.xx:xxxx/api/v1/clusters/Cluster12/commands/restart
Without Variables:
curl -X POST http://x.xx.x.xx:xxxx/api/v1/clusters/Cluster12/commands/restart
May be you can use this?
Thanks for help. Now it is working. I should use some arguments from API
curl -u username:password -H "Accept: application/json" -X POST -d '{"SomeArgument":"true"}' http://masterIP:xxxx/api/v1/clusters/Cluster12/commands/restart

Stormpath cURL Error

I am trying to follow this example: http://docs.stormpath.com/rest/quickstart/
One of the steps mentions to do the following cURL request:
curl -X POST --user $YOUR_API_KEY_ID:$YOUR_API_KEY_SECRET \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name" : "My Awesome Application"
}' \
'https://api.stormpath.com/v1/applications?createDirectory=true'
I am using online cURL from : http://onlinecurl.com/
Here is the snapshot of the curl request:
Here is the snapshot of the Header Response:
Can anybody please tell me what is wrong?
I'm also having problems with that tool. I tried what you show in your screenshot, plus some other combinations. I actually get a different error (media type unauthorized). I suspect this tool uses some kind of proxy that is messing with the request.

Resources