मुझे पता है कि @JsonView(...)
के साथ नियंत्रक विधियों को स्थगित करना संभव है ताकि स्प्रिंग एमवीसी में एकल दृश्य वर्ग को स्थाई रूप से परिभाषित किया जा सके। दुर्भाग्यवश इसका मतलब है कि मुझे संभवतः हर प्रकार के दृश्य के लिए एक अलग अंतराल की आवश्यकता है।वसंत एमवीसी नियंत्रक में जेसन व्यू का गतिशील चयन
मुझे लगता है कि अन्य लोगों ने यह before पूछा है। हालांकि यह दृष्टिकोण काम कर सकता है, वसंत में अक्सर वही काम करने के कई तरीके होते हैं। कभी-कभी समाधान पहले दिखाई देने से कहीं अधिक सरल हो सकता है यदि आपको कुछ आंतरिकों के बारे में थोड़ा सा ज्ञान है।
मैं एक एकल नियंत्रक एंडपॉइंट रखना चाहता हूं जो मौजूदा प्रिंसिपल के आधार पर उचित दृश्य को गतिशील रूप से चुन सकता है। क्या मेरे लिए Model
को एक ऐसे विशेषता के साथ वापस करना संभव है जिसमें उचित दृश्य वर्ग या शायद MappingJacksonValue
इंस्टेंस सीधे हो?
मैं org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter#writeInternal
में देखते हैं कोड का एक टुकड़ा निर्धारित करता है कि क्या उपयोग करने के लिए देखने नहीं है:
if (value instanceof MappingJacksonValue) {
MappingJacksonValue container = (MappingJacksonValue) object;
value = container.getValue();
serializationView = container.getSerializationView();
}
org.springframework.web.servlet.mvc.method.annotation.JsonViewResponseBodyAdvice#beforeBodyWriteInternal
से आती दिखायी देती है, लेकिन मैं बाहर काम कर रहा है, तो वहाँ एक रास्ता मैं बाईपास कर सकता है समस्या हो रही है कौन सा यह सिर्फ एक विशेष मूल्य लौटकर जिसमें सही दृश्य चुनने के लिए Jackson2HttpMessageConverter
के लिए आवश्यक जानकारी शामिल है।
किसी भी मदद की बहुत सराहना की।
आप एक ContentNegotiatingViewResolver भी कॉन्फ़िगर कर सकते हैं – Richard