@Post("/route") @Consumes("application/json") public void add(List<RouteInformation> routes, Long mapId) { Map map = mapRepository.loadById(mapId); if (map == null) { result.notFound(); return; } for (RouteInformation routeInfo : routes) { Route route = null; boolean isNEW = (routeInfo.getId() == null); if (isNEW) { route = new Route(); } else { route = routeRepository.loadById(routeInfo.getId()); } route.setMap(map); route.setDestination(routeInfo.getDestination()); route.setDistance(routeInfo.getDistance()); route.setOrigin(routeInfo.getOrigin()); if (isNEW) { routeRepository.add(route); } else { routeRepository.update(route); } } result.use(json()).from(true, "success").recursive().serialize(); }