viernes, 16 de mayo de 2014

Spring MVC 3.2, JSON y error 406

Tenemos una aplicación con Spring MVC 3.0 que funciona perfectamente y a la cual se le hacen peticiones Ajax solicitando datos en formato JSON y no da ningún problema.

Si cambiamos únicamente la versión de Spring de 3.0 a 3.2, aquellas páginas donde se realizaban las llamadas Ajax dejan de funcionar. A través de firebug podemos ver que obtenemos un HTML error 406, o lo que es lo mismo, que las cabeceras no son aceptadas. Lo cual en principio es muy raro porque el código sigue siendo exactamente el mismo.

El error viene porque a partir de la versión 3.2 Spring MVC permite controlar las llamadas y los tipos que aceptan. Por defecto vendrá configurado para que en función del tipo de fichero que realiza la llamada así debe ser lo que produzca.

Por lo tanto lo que tenemos que hacer es configurarlo para que deje de tener en cuenta el tipo de fichero que realiza la request y este pendiente de la cabecera (tal y como se hacía anteriormente). Para ello debemos añadir en el fichero de configuración lo siguiente:




  



Navegando por internet también se indica que se cambien versiones de la librería jackson o se añadan nuevas. A mi en principio no me ha hecho falta para que todo vuelva a funcionar de nuevo.

No hay comentarios:

Publicar un comentario