के साथ कस्टम सामग्री-प्रकार भेजना मैं अपने स्प्रिंग वेबएमवीसी 3.0.5 नियंत्रक में ResponseEntity रिटर्न प्रकार का उपयोग करने का प्रयास कर रहा हूं। मैं एक छवि लौटने हूँ, इसलिए मैं निम्नलिखित कोड के साथ छवि/gif करने के लिए सामग्री प्रकार सेट करना चाहते हैं:ResponseEntity <Resource>
@RequestMapping(value="/*.gif")
public ResponseEntity<Resource> sendGif() throws FileNotFoundException {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_GIF);
return new ResponseEntity<Resource>(ctx.getResource("/images/space.gif"), headers, HttpStatus.OK);
}
हालांकि, वापसी प्रकार ResourceHttpMessageConverter में पाठ/html को अधिरोहित जा रहा है।
अपने स्वयं के HttpMessageConverter को लागू करने और AnnotationMethodHandlerAdapter में इंजेक्शन करने के अलावा, क्या मेरे लिए सामग्री-प्रकार को मजबूर करने का कोई तरीका है?
धन्यवाद गौकी, मुझे पूरा यकीन है कि काम करेगा। लेकिन, और मुझे पहले से जोड़ा जाना चाहिए था, यह सर्वलेट एपीआई से decoupling के वसंत सपने में रहने का एक अभ्यास था। आम तौर पर इस स्थिति में मैं वसंत को HttpServletResponse में पास करने के लिए मिलता हूं और प्रतिक्रिया आउटपुट स्ट्रीम पर सीधे लिखता हूं। धन्यवाद औश्र सबकुछ वही है। – Nigel
वह पूरी तरह से भयानक था। यह मेरे लिए 100% काम किया। कृपया ध्यान दें कि response.setContentType ("image/gif"); लाइन कुछ नहीं करता है। कुंजी बाकी में है। – Spider
ऐसा लगता है कि जब आप इस तकनीक का उपयोग करते हैं तो आपको 406 त्रुटि मिल सकती है, जो मेरे मामले में हल हो गया था, नीचे दिए गए SO उत्तर के रूप में एक प्रतिक्रिया प्रतिक्रिया को वापस कर रहा था http://stackoverflow.com/questions/8049153/doesnt-accept-spring-mvc -responseentityresource-एक-imputstreamresource –