Ho un codice da un'API REST che utilizza @ResponseBody
per restituire il risultato e un MappingJacksonHttpMessageConverter
per restituirlo in un formato JSON.Spring @ResponseBody produce un JSON non valido per i tipi primitivi
Funziona tutto bene per oggetti complessi. Per primitive come int
, boolean
e string
Ottengo un JSON che non inizia con {o [. Questo non è un JSON valido.
Mi chiedevo qual è il modo corretto per restituire solo un tipo semplice come quello? Devo incapsularlo in un oggetto come { Result : true }
?
Grazie
codice di esempio:
@RequestMapping(
value = "/login",
method = RequestMethod.POST)
@ResponseBody
public boolean Login(String username, String password) {
return authenticationService.authenticate(username, password);
}
Ciò restituirà solo true
o false
che è un JSON valido. Dovrebbe essere incapsulato in un oggetto o in un array (se ho capito bene).
Il problema è che ci sono cose che si aspettano una corretta JSON. Ad esempio lo strumento Flex Builder che incapsula le chiamate API REST in Flex si aspetta che i risultati siano in JSON. – Oxmane
incollare i dati in un oggetto wrapper personalizzato o in una mappa di hash – NimChimpsky