एक रेल app करने के लिए टर्मिनल के माध्यम से कर्ल json पोस्ट अनुरोध


109

मैं ओएस एक्स टर्मिनल से कर्ल कमांड के साथ अपने रेल ऐप पर एक उपयोगकर्ता बनाने की कोशिश कर रहा हूं। कोई फर्क नहीं पड़ता कि मैं डेटा को कैसे प्रारूपित करता हूं, ऐप एक प्रतिक्रिया देता है जो मेरी मान्यताओं के बिना पारित हो गया है।

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

मैंने हर बदलाव की कोशिश की है। मैंने [] कोष्ठक का उपयोग करने की कोशिश की है, मैंने उपयोगकर्ता = {डेटा ..} की कोशिश की है और कुछ भी काम नहीं करता है। कोई विचार?


सिर्फ उपयोग $ rails cऔर क्यों नहीं User.create :first_name => 'John', :last_name => 'Smith', ...?
Coreyward

23
@ सिद्धांत: यह एक एपीआई के पूरे उद्देश्य को हरा देगा।
वुकरप्लैंक

यह वास्तव में मुझे स्टम्प्ड है
क्रिस सूर्य

नमस्ते, बॉब शायद समस्या पाया, लेकिन मामले में यह मदद कर सकता है, यहाँ एक पोस्ट मैं कल पाया है: squarism.com/2011/04/01/how-to-write-a-ruby-rails-3-rest-api यह XML के बारे में है, लेकिन यह मदद कर सकता है। सादर।
9

जवाबों:


227

सबसे पहले, आपकी कमान के अंत में एक "बाहरी" है।

इसे इस्तेमाल करे

curl -v \
  -H "Accept: application/json" \
  -H "Content-type: application/json" \
  -X POST \
  -d ' {"user":{"first_name":"firstname","last_name":"lastname","email":"email@email.com","password":"app123","password_confirmation":"app123"}}' \
  http://localhost:3000/api/1/users

वह यह था। मुझे कल रात पता चला कि उसे -H स्वीकार और सामग्री-प्रकार की आवश्यकता है।
क्रिस

हाय मैं एक स्क्रिप्ट को इस तरह बुला रहा हूँ: abc.com/?a=4&b= {"x": "y"}। क्या आप मुझे बता सकते हैं कि यह कर्ल टर्मिनल में कैसा दिखेगा ??
user739711

मेरे मामले में हम्म को उद्धरण के साथ लक्ष्य URL को घेरने की आवश्यकता थी
जोनाथन लिन

1
मैं ऊपर से -v (क्रिया) स्विच और -एच "स्वीकार: ..." को हटाने में सक्षम था और यह अभी भी मेरे लिए ठीक काम करता है।
Dan

2
लगता है कि आप -d का उपयोग करने के बाद से -X POST को हटा सकते हैं
ल्यूक डब्ल्यू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.