यह प्रत्यक्ष उत्तर नहीं है, बल्कि थोड़ी अलग डिज़ाइन दिशा है:
डेटा को प्रपत्र के रूप में पोस्ट न करें, लेकिन JSON ऑब्जेक्ट के रूप में सर्वर-साइड ऑब्जेक्ट पर सीधे मैप किया जा सकता है, या RIS शैली संस्करण चर का उपयोग कर सकता है
अब मुझे पता है कि न तो विकल्प आपके मामले में उपयुक्त हो सकता है क्योंकि आप एक एक्सएसआरएफ कुंजी पारित करने की कोशिश कर रहे हैं। इसे इस तरह एक पथ चर में मैप करना एक भयानक डिजाइन है:
http://www.someexample.com/xsrf/{xsrfKey}
क्योंकि स्वभाव से आप xsrf कुंजी को अन्य पथ में भी पास करना चाहेंगे /login
,/book-appointment
आदि। और आप अपने सुंदर URL को गड़बड़ नहीं करना चाहते हैं
दिलचस्प रूप से इसे एक ऑब्जेक्ट फ़ील्ड के रूप में जोड़ना उचित नहीं है, क्योंकि अब प्रत्येक json ऑब्जेक्ट पर आप उस सर्वर से गुजरते हैं जिसे आपको फ़ील्ड जोड़ना होगा
{
appointmentId : 23,
name : 'Joe Citizen',
xsrf : '...'
}
आप निश्चित रूप से अपने सर्वर-साइड वर्ग पर एक और फ़ील्ड जोड़ना नहीं चाहते हैं, जिसका डोमेन ऑब्जेक्ट के साथ सीधा अर्थ संबंधी जुड़ाव नहीं है।
मेरी राय में आपकी xsrf कुंजी को पास करने का सबसे अच्छा तरीका HTTP हेडर है। कई xsrf सुरक्षा सर्वर-साइड वेब फ्रेमवर्क लाइब्रेरी इसका समर्थन करती है। उदाहरण के लिए जावा स्प्रिंग में, आप X-CSRF-TOKEN
हेडर का उपयोग करके इसे पास कर सकते हैं ।
जेएस ऑब्जेक्ट को यूआई ऑब्जेक्ट को बांधने की कोणीय क्षमता की उत्कृष्ट क्षमता का मतलब है कि हम सभी को एक साथ पोस्ट करने के अभ्यास से छुटकारा पा सकते हैं, और इसके बजाय JSON पोस्ट कर सकते हैं। JSON को सर्वर-साइड ऑब्जेक्ट में आसानी से डी-सीरीज़ किया जा सकता है और मैप, सरणियों, नेस्टेड ऑब्जेक्ट्स आदि जैसे जटिल डेटा संरचनाओं का समर्थन कर सकता है।
आप फार्म पेलोड में सरणी कैसे पोस्ट करते हैं? शायद इस तरह:
shopLocation=downtown&daysOpen=Monday&daysOpen=Tuesday&daysOpen=Wednesday
या यह:
shopLocation=downtwon&daysOpen=Monday,Tuesday,Wednesday
दोनों ही घटिया डिज़ाइन ।।