Ho una cinquantina di controller che utilizzano l'annotazione @ResponseBody.Spring Ajax @ResponseBody con valori restituiti nulli
Ti piace questa:
@RequestMapping(value = "/someUrl.controller", method = RequestMethod.GET)
public @ResponseBody Object getObject(@RequestParam("id") Long id) {
Object object = provider.getObject(id);
return object;
}
Alcune volte getObject metodo di ritorno null
. Il problema è che sul lato client ottengo la risposta vuota anziché null
.
Nell'implementazione iniziale abbiamo l'oggetto personalizzato JsonView
che funziona come wrapper senza l'annotazione @ResponseBody.
Ti piace questa:
@RequestMapping(value = "/someUrl.controller", method = RequestMethod.GET)
public JsonView<Object> getObject(@RequestParam("id") Long id) {
Object object = provider.getObject(id);
return new JsonView(object);
}
Quindi stava funzionando benissimo.
Ho trovato qualche soluzione a How do you override the null serializer in Jackson 2.0? ma sfortunatamente funziona solo per i campi nei POJO.
Avete qualche idea su come può essere gestito?
Grazie in anticipo!
Puoi dirci in quale libreria è presente la generica classe 'JsonView'? –