Una delle caratteristiche più fighe di spring mvc 3.x è sicuramente la possibilità di costruire in pochi passi un controller che possa rispondere in JSON, convertendo magare un pojo di dominio, per darlo poi in pasto al nostro client.

Tra le migliori e semplici guide sicuramente c’è http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/, se si vuole un esempio immediato.

Purtroppo può accadere di avere un errore che ci blocca subito ed è il seguente:

HTTP/1.1 406 Not Acceptable

Per risolvere questo problema ci sono validi post come ad esempio:

Nel caso questi post non risolvano il problema, allora il bug può essere più stupido di quello che si pensa, infatti è possibile che il pojo che si vuole parsare sia semplicemente vuoto.

@RequestMapping(value = "/{idAzienda}", method = RequestMethod.GET)
public @ResponseBody Azienda aziendaId(@PathVariable Integer idAzienda) {

Azienda azienda = new Azienda(); // ERROR POJO CAN?T BE EMPTY
// azienda.setId("0001"); this solve the 406 error
 return azienda;
 }

Per risolvere il problema basterà assicurarsi che il pojo che dovrà essere parsato non sia mai vuoto.

Annunci