"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मेरे स्प्रिंग एमवीसी नियंत्रक को JSON अनुरोध भेजते समय मुझे 406 (स्वीकार्य नहीं) त्रुटि क्यों मिल रही है?

मेरे स्प्रिंग एमवीसी नियंत्रक को JSON अनुरोध भेजते समय मुझे 406 (स्वीकार्य नहीं) त्रुटि क्यों मिल रही है?

2024-11-07 को प्रकाशित
ब्राउज़ करें:791

Why am I getting a 406 (Not Acceptable) Error When Sending a JSON Request to My Spring MVC Controller?

स्प्रिंग JSON अनुरोध रिटर्निंग 406 (स्वीकार्य नहीं)

स्प्रिंग एमवीसी नियंत्रक को JSON अनुरोध भेजने का प्रयास करते समय, कुछ उपयोगकर्ताओं को एक समस्या का सामना करना पड़ता है "406 स्वीकार्य नहीं" त्रुटि। यह समस्या अनुरोधित सामग्री प्रकार ("एप्लिकेशन/जेसन") और नियंत्रक की प्रतिक्रिया क्षमता के बीच एक बेमेल से उत्पन्न होती है।

स्प्रिंग एमवीसी में, नियंत्रक विधि को यह इंगित करने के लिए "@ResponseBody" के साथ एनोटेट किया गया है रिटर्न मान को HTTP प्रतिक्रिया निकाय में JSON के रूप में लिखा जाना चाहिए। हालाँकि, यदि उचित HTTPMessageConverter एप्लिकेशन संदर्भ में पंजीकृत नहीं है, तो स्प्रिंग रिटर्न मान को अनुरोधित प्रारूप में परिवर्तित करने में असमर्थ होगा।

इस त्रुटि का एक सामान्य कारण एप्लिकेशन में जैक्सन लाइब्रेरीज़ की अनुपस्थिति है क्लासपाथ. जैक्सन लाइब्रेरी HTTPMessageConverter प्रदान करती है जो जावा ऑब्जेक्ट को JSON में परिवर्तित करने और इसके विपरीत के लिए जिम्मेदार है।

समस्या को हल करने के लिए, इन चरणों का पालन करें:

  1. सुनिश्चित करें कि निम्नलिखित जैक्सन लाइब्रेरी एप्लिकेशन क्लासपाथ में शामिल हैं:

    • jackson-core-asl.jar
    • jackson-mapper-asl.jar
  2. यदि आप स्प्रिंग 3.0 या उसके बाद का उपयोग कर रहे हैं, तो एनोटेशन-संचालित एमवीसी कॉन्फ़िगरेशन को सक्षम करने के लिए स्प्रिंग-सर्वलेट.xml कॉन्फ़िगरेशन फ़ाइल में निम्न पंक्ति जोड़ें:

  3. नियंत्रक विधि एनोटेशन से अनावश्यक "headers=\"Accept=/\"" निर्देश हटाएं। यह निर्देश स्प्रिंग को किसी भी हेडर को स्वीकार करने के लिए मजबूर करता है और संगतता समस्याओं को जन्म दे सकता है।

इन चरणों को लागू करने से, HTTPMessageConverter पंजीकृत हो जाएगा, और स्प्रिंग नियंत्रक के रिटर्न मान को JSON में परिवर्तित करने में सक्षम होगा जैसा कि अपेक्षित था .

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3