2011-04-14 13 views
103

Estoy tratando de crear un usuario en mi aplicación de rieles con un comando curl desde la terminal os x. No importa cómo formateo los datos, la aplicación devuelve respuestas que no han pasado mis validaciones.solicitud de curl json post a través de terminal a la aplicación de raíles

curl http://localhost:3000/api/1/users.json -i -X POST -d {"user":{"first_name":"firstname","last_name":"lastname","email":"[email protected]","password":"app123","password_confirmation":"app123"}}" 

He intentado todas las variaciones. He intentado usar corchetes [], he intentado user = {data ..} y nada parece funcionar. ¿Algunas ideas?

+0

Por qué no usar' rieles $ C 'y 'User.create:. FIRST_NAME =>' John ',: last_name =>' Smith ', ...'? – coreyward

+22

@coryward: Eso vencería el propósito de una API. – Wukerplank

+0

realmente me tiene perplejo –

Respuesta

216

En primer lugar, hay una extraña "al final de su comando

Prueba este

curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d ' {"user":{"first_name":"firstname","last_name":"lastname","email":"[email protected]","password":"app123","password_confirmation":"app123"}}' http://localhost:3000/api/1/users 
+0

th en era eso. Anoche me di cuenta de que necesita el tipo -H Accept y Content-type. –

+0

Hola, estoy llamando a un script como este: http://www.abc.com/?a=4&b={"x":"y "}. ¿Puedes decirme cómo se vería en la terminal curl? – user739711

+0

hmmm en mi caso, tuve que rodear la URL de destino con comillas –

Cuestiones relacionadas