अब तक मुझे रेल में सत्य होने के लिए request.format.json?
के दो तरीके मिल गए हैं (यानी जहां आने वाले अनुरोध को JSON के रूप में माना जाता है)। एक यह है कि यदि आप संसाधन का अनुरोध करते हैं और .json
में समाप्त करते हैं तो दूसरा यह है कि यदि आप अपने अनुरोध में हेडर Accept: application/json
प्रदान करते हैं। प्रत्येक काम अकेले खड़े हो जाओ।रेल: वैकल्पिक स्वीकृति का इलाज कैसे करें: सामग्री-प्रकार जेएसओएन के रूप में?
मैं इस दूसरे मामले के लिए मेरे अपने "स्वीकार करता है" प्रकार पंजीकृत करना चाहते हैं:
Accept: application/vnd.myapp_v1+json
और इस .json
संलग्न करने के लिए आवश्यकता के बिना application/json
की तरह एक "json अनुरोध" के रूप में रेल द्वारा इलाज किया है।
मेरा पहला विचार मेरा खुद का माइमटाइप :json
(मेरे प्रारंभिक कोड के भीतर) के रूप में पंजीकृत करना था, लेकिन यह वास्तव में एप्लिकेशन/जेसन के लिए समर्थन तोड़ देगा, न कि मैं क्या करना चाहता हूं।
Mime::Type.register "application/vnd.myapp_v1+json", :json # my failed attempt
पूरी तरह से काम करता है! आपके उत्तर के लिए धन्यवाद। –