मैं के माध्यम से एक विशेष जावा ऑब्जेक्ट इसे सहेजने के लिए करने के लिए एक JSON पोस्ट मानचित्रण हाइबरनेटवसंत MVC: @ResponseBody, 415 असमर्थित मीडिया प्रकार
अजाक्स कॉल के हेडर समस्या हो रही है ठीक से सेट कर रहे हैं ...
Accept application/json
Content-Type application/json; charset=UTF-8
और HTTP-विधि पोस्ट
यहाँ मेरी विन्यास आता है ...
,210मेरे वसंत MVC समारोह मानचित्रण इस
@RequestMapping(value = {"/save.json"},method = RequestMethod.POST)
public ModelMap save(@RequestBody Seizure seizureObj,Model model) {
...
}
मेरी कंटेनर एक्सएमएल में
की तरह लग रहा है कि मैं इस
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="html" value="text/html" />
<entry key="json" value="application/json" />
</map>
</property>
<property name="viewResolvers">
<list>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/assets/" />
<property name="suffix" value=".jsp" />
</bean>
</list>
</property>
<property name="defaultViews">
<list>
<bean
class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="prefixJson" value="false" />
<property name="objectMapper" ref="jacksonObjectMapper" />
</bean>
</list>
</property>
</bean>
की तरह मेरे कंटेनर एक्सएमएल में भाग जैक्सन
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapterConfigurer"
init-method="init">
<property name="messageConverters">
<list>
<bean id="marshallingHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"
>
<property name="objectMapper" ref="jacksonObjectMapper" />
</bean>
</list>
</property>
</bean>
<bean id="jacksonObjectMapper" class="org.codehaus.jackson.map.ObjectMapper" />
के लिए एक
ContentNegotiatingViewResolver है
मेरे पास
है 0- जैक्सन कोर-ASL-1.8.5
- जैक्सन-नक्शाकार-ASL-1.8.5
और जैक्सन इस
की तरह एक साधारण मामले के लिए काम करता हैpublic class Simple {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
@RequestMapping(value = {"/saveSimple.json"},method = RequestMethod.POST)
public ModelMap save(@RequestBody Simple simple,Model model) {
...
}
जब मैं कर्ल
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"id":1}' http://<URL>/saveSimple.json
साथ परीक्षण
कोई समस्या नहीं है, लेकिन अगर मैं यह हाइबरनेट वस्तु के साथ परीक्षण मैं संदेश
415 Unsupported Media Type
किसी भी विचार मिलता है।
यह पूरी तरह से मेरा दिन बचाता है ... सप्ताह। असल में वास्तव में मिस्लीडिंग त्रुटि संदेश !! यह कैसे संभव है? –
हेहे मुझे उम्मीद है कि आप ऊपर हट गए हैं;) –
+1 - भयानक डीबगिंग चाल। – Martin