Tengo problemas para la asignación de un JSON Agregar a un objeto particular de Java para salvarlo por medio de HibernateSpring MVC: @ResponseBody, 415 no admitido Tipo de soporte
encabezados de la llamada Ajax están correctamente ...
Accept application/json
Content-Type application/json; charset=UTF-8
y el HTTP-Method es POSTAL
Aquí viene la configuración de mi ...
correlación de funcionesMi Spring MVC se ve así
@RequestMapping(value = {"/save.json"},method = RequestMethod.POST)
public ModelMap save(@RequestBody Seizure seizureObj,Model model) {
...
}
en mi xml contenedor Tengo un ContentNegotiatingViewResolver como esto
<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>
en mi xml contenedor de la parte de Jackson
<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" />
Tengo
- Jackson-core-ASL-1.8.5
- Jackson mapeador-ASL-1.8.5
en mi carpeta/lib
y Jackson trabaja para un caso sencillo como esto
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) {
...
}
cuando lo pruebo con curl
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"id":1}' http://<URL>/saveSimple.json
No hay problemas, pero si lo prueba con el objeto de hibernación que reciben el mensaje
415 Unsupported Media Type
cualquier idea.
Esto me salvó totalmente el día ... la semana. ¡Un mensaje de error realmente engañoso! ¿Cómo es esto posible? –
jeje Espero que hayas votado;) –
+1 - truco de eliminación de errores impresionante. – Martin