diff --git a/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java b/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java index 6499b71..4928476 100644 --- a/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java +++ b/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java @@ -1,6 +1,7 @@ package hhn.labsw.bugageocaching.controller; import com.google.gson.Gson; +import com.google.gson.GsonBuilder; import hhn.labsw.bugageocaching.entities.*; import hhn.labsw.bugageocaching.exceptions.IllegalParameterException; import hhn.labsw.bugageocaching.repositories.*; @@ -10,10 +11,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.security.crypto.bcrypt.BCrypt; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.Random; +import java.util.*; import java.util.concurrent.atomic.AtomicLong; @RestController @@ -297,7 +295,18 @@ public class Controller { @RequestMapping("/api/getRankingList") @ResponseBody public ResponseEntity getRankingList() { - return ResponseEntity.status(200).body(new Gson().toJson(userRepository.getRankingList())); + + List sendBackUsers = new LinkedList<>(); + List rankingUsers = userRepository.getRankingList(); + for (Object[] obj : rankingUsers) { + User u = new User(); + u.setId((int) obj[0]); + u.setUsername((String) obj[1]); + u.setRankingPointsSum((int) obj[2]); + sendBackUsers.add(u); + } + + return ResponseEntity.status(200).body(new Gson().toJson(sendBackUsers)); } @CrossOrigin(origins = "http://localhost:8081") // only for dev purpose diff --git a/src/main/java/hhn/labsw/bugageocaching/repositories/UserRepository.java b/src/main/java/hhn/labsw/bugageocaching/repositories/UserRepository.java index 6ea725e..81cddfe 100644 --- a/src/main/java/hhn/labsw/bugageocaching/repositories/UserRepository.java +++ b/src/main/java/hhn/labsw/bugageocaching/repositories/UserRepository.java @@ -10,6 +10,6 @@ import java.util.List; public interface UserRepository extends CrudRepository { User findByUsername(String username); - @Query(value = "SELECT u.id u.username, u.ranking_points_sum from user u order by ranking_points_sum DESC", nativeQuery = true) + @Query(value = "SELECT u.id, u.username, u.ranking_points_sum from user u order by ranking_points_sum DESC", nativeQuery = true) List getRankingList(); }