I'm making a webservice with JSON going in both directions for all
requests, but seem to have run into a catch 22.
A) I try the request as "/questions/1.json?_method=put" but since the
_method=put is not in the message body it doesn't count.
B) I send the params as _method=put&{ "json": "here" }
The request is recognize as a PUT, but the JSON can't be interpreted.
C) I send the params as { "_method":"put", "json": "here" }
The request isn't recognized as a PUT, but the JSON can be parsed (it works
using "curl -X PUT ...")
D) I try using GET (with the same approach as A) and it ignores the
parameters and the message body.
Where should I attack this beast at?
AJ ONeal
Working Examples:
curl 'http://www.whatsayye.com/questions.json?callback=jsonp12345' \
-X "POST" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d "{ \"question\": { \"question\": \"Created with curl
JSON-ically\", \"url\": \"curljson\" }}"
curl 'http://www.whatsayye.com/questions/3.json' \
-X "PUT" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d "{ \"question\": { \"question\": \"Modified with curl
JSON-ically\", \"url\": \"jsonrocks\" }}"
Failing Examples:
curl 'http://www.whatsayye.com/questions/3.json' \
* -X "POST" \*
-H "Content-Type: application/json" \
-H "Accept: application/json" \
* -d "_method=put" \*
-d "{ \"question\": { \"question\": \"Modified with curl
JSON-ically\", \"url\": \"jsonWAYrocks\" }}"
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.