Grazie per la precisazione @andbin,
tuttavia ho ancora un problemino: infatti, il metodo che ho implementato per leggere l'elenco di oggetti, mi restituisce sempre e solo l'ultimo oggetto dell'elenco, ripetuto 1462 volte, ovvero per il numero totale degli oggetti.
Nel metodo che segue deve esserci un errore che io non riesco a vedere, mi potresti aiutare a scoprirlo, per favore?
@GetMapping("/list")
public List<ATMDTO> getListAtmDTO() throws FileNotFoundException, IOException, Exception {
// create List<ATMDTO> instance
List<ATMDTO> listAtmDTO = new ArrayList<ATMDTO>();
// create ATM Objects instances
ATMDTO atmDTO = new ATMDTO();
AddressDTO addressDTO = new AddressDTO();
GeoLocationDTO geoLocationDTO = new GeoLocationDTO();
try {
// read json file and convert to ATMDTO object
FileReader file = new FileReader(
"ATMs.json");
// create ObjectMapper instance
ObjectMapper objectMapperIn = new ObjectMapper();
List<ATMDTO> listAtmDTOIn = objectMapperIn.readValue(file, new TypeReference<List<ATMDTO>>() {
});
for (ATMDTO cursor : listAtmDTOIn) {
geoLocationDTO.setLat(cursor.getAddress().getGeoLocation().getLat());
geoLocationDTO.setLng(cursor.getAddress().getGeoLocation().getLng());
addressDTO.setGeoLocation(cursor.getAddress().getGeoLocation());
atmDTO.setAddress(cursor.getAddress());
atmDTO.setDistance(cursor.getDistance());
atmDTO.setType(cursor.getType());
listAtmDTO.add(atmDTO);
}
} catch (FileNotFoundException fnfe) {
throw new FileNotFoundException("ATMs.json file not found in resources directory, please retry");
} catch (IOException ioe) {
throw new IOException("Possible I/O Error, please retry");
} catch (Exception e) {
e.printStackTrace();
};
// return List<ATMDTO>
return listAtmDTO;
}
Ciao e Grazie
Fulvio