Отсутствующие значения с плавающей запятой в возвращенном JSON - PullRequest
0 голосов
/ 14 мая 2018

Я работаю над веб-приложением, которое использует Jersey для обмена данными между бэкэндом (Java EE и PostgreSQL) и внешним интерфейсом.

У меня есть класс Point со следующими полями:

private int id;
private float x;
private float y;
private int r;
private boolean hit;

У меня также есть bean-компонент и сервисный метод для получения всех строк из базы данных:

//PointsBean.java
@GET
@Path("/getpoints")
public List<Point> getPoints(@Context HttpServletRequest req)
{
    return service.getAllPoints();
}

//PointsService.java
public List<Point> getAllPoints()
{
    return (List<Point>) em.createQuery("SELECT p FROM Point p").getResultList();
}

Однако, когда я отправляю запрос GET XmlHttpRequest из Javascript, я получаю следующее:

0: {hit: true, id: 115, r: 2, x: {}, y: {}}
1: {hit: false, id: 116, r: 2, x: {}, y: {}}
2: {hit: true, id: 117, r: 2, x: {}, y: {}}

Как видите, значения с плавающей точкой отсутствуют. В БД эти столбцы имеют тип real, который должен соответствовать float для Java.

Что я делаю не так?

...